您的位置:首页 > 其它

如何判断是否是数组

2016-07-15 17:33 197 查看
方法一:

var arr = [1,2];
var arr2 = "";
Array.isArray(arr);//true
Array.isArray(arr2);//false


方法二:

var arr = [1,2];
var arr2 = "";
Object.prototype.toString.call(arr);//"[object Array]"
Object.prototype.toString.call(arr2);//"[object String]"


方法三(根据数组内部方法判断):

var arr = [1,2];
var arr2 = "";
arr.pop//function pop(){...}
arr2.pop//undefined


方法四(部分浏览器不兼容):

var arr = [1,2];
var arr = "";
arr instanceof Array;//true
arr2 instanceof Array;//false


所以考虑浏览器兼容性,最好的解决办法是:

if(typeof Array.isArray === "undefined"){
Array.isArray = function(arr) {
return Object.prototype.toString.call(arr) === "[object Array]";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: