当我们遇到判断一个变量是不是数组时,首先想到一般都会是typeof操作符,但是测试后发现
console.log(typeof []);//object类型
所以使用typeof来探测看来不行。下面介绍三种方法,可以帮助我们如何判断一个对象是不是数组。
方法一:使用instanceof方法。instanceof方法用于判断变量是否属于某一对象的实例,返回的是布尔值。
var method1=[] instanceof Array; if (method1) { console.log(method1); }else { console.log('false'); }
方法二:使用constructor属性。这个属性返回创建此对象的构造函数。
console.log([].constructor);//Function:Array console.log([].constructor==Array);//true console.log((123).constructor);//Function:Number console.log("123".constructor);//Function:String console.log(false.constructor);//Funciton:Boolean console.log({}.constructor);//Function:Object
方法三:Array自带isArray()方法。推荐这个方法。
var method2=Array.isArray([]); if (method2) { console.log(method2); }else { console.log('false'); }
参考链接:https://www.cnblogs.com/lingdu87/p/9152806.html