JavaScript中检测数组的几种方式

时间:2025-02-17 09:04:02

检测一个对象是否为数组的方式有:

  • Array.isArray()          // true或false(es5)
  • toString.call([]);       // [object Array]
  • arr.constructor;       // Array()
  • instanceof Array    // true或false

兼容性写法:

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

示例代码:

var aArr=[1,2,3];
console.log(Array.isArray(aArr)); // true
console.log(toString.call(aArr));     // [object Array]
console.log(aArr.constructor);       // Array()
console.log(aArr instanceof Array);    // true