判断一个对象是否为数组

2019-03-25  本文已影响0人  不会潜水的猫小喵
Array.isArray([]); //true
Array.isArray({}); //false

对象的类属性(class attribute)是一个字符串,用以表示对象的类型信息。es3和es5中都未提供设置这个属性的方法,并且只有一种间接的方法可以查询它。默认的toString()方法(继承自Object.prototype)返回如[object class]这种格式的字符串。因此,想要获得对象的类,可以调用对象的toString()方法。

var isArray = function(o) {
    return typeof o === "object" && Object.prototype.toString.call(o) === "[object Array]";
};

console.log(isArray([])); //true
console.log(isArray({})); //false

参考书籍:《JavaScript高级程序设计(第3版)》,《JavaScript权威指南》。

上一篇 下一篇

猜你喜欢

热点阅读