如何判断是否是数组

来源:互联网 发布:淘宝宝贝排名在线查询 编辑:程序博客网 时间:2024/04/30 04:32

方法一:

var arr = [1,2];var arr2 = "";Array.isArray(arr);//trueArray.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;//truearr2 instanceof Array;//false

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

if(typeof Array.isArray === "undefined"){    Array.isArray = function(arr) {        return Object.prototype.toString.call(arr) === "[object Array]";    }}


0 0