es6中加⼊了新的判断⽅法
if(Array.isArray(value)){
return true;
}
但是在IE8之前的版本是不支持的
在考虑兼容性的情况下可以⽤toString的⽅法
if(!Array.isArray){
Array.isArray = function(arg){
return Object.prototype.toString.call(arg)==='[object Array]'
}
}
判断是否为数组的最好写法如下:
var arr = [1,2,3,1];
var arr2 = [{ abac : 1, abc : 2 }];
function isArrayFn(value){
if (typeof Array.isArray === "function") {
return Array.isArray(value);
}else{
return Object.prototype.toString.call(value) === "[object Array]";
}
}
alert(isArrayFn(arr));
alert(isArrayFn(arr2));