JavaScript 对于数组和对象的区别比较容易混淆,可以自定义一个is_array函数来区别数组或者对象,判断一个对象是否为数组。
var is_array = function (value) {
return value && typeof value === 'object' && value.constructor === Array;
};
该方法的不足之处是它在识别从不同的窗口或帧里构造的数组会失败。下面是一个更好的方式去判断一个对象是否为数组。
var is_array = function (value) {
return Object.prototype.toString.apply(value) === '[object Array]';
};