var arr = [1,2,3,4];
var likeArr = {
'0':'a',
'1':'b',
'2':'c',
length:3
};
1.判断数组类型:
arr instanceof Array;//true
Array.isArray(arr);//true
Object.prototype.toString.call(arr); //'[object Array]'
2.将类数组转成数组
1.[].slice.call()
var fn = function(likeArr){
var arr = Array.prototype.slice.call(likeArr);
//或者:var arr = [].slice.call(arguments);
return arr;
}
2.Array.from()
var fn = function(likeArr){
var arr = Array.from(likeArr)
return arr;
}
3.扩展运算符(...)
//转换arguments
var fn = function(){
var args = [...arguments];
}
兼容写法
function toArray(likeArr){
if(Array.from){
return Array.from(likeArr)
}else{
return [].slice.call(likeArr)
}
}