美文网首页
判断一个对象是否为数组

判断一个对象是否为数组

作者: 不会潜水的猫小喵 | 来源:发表于2019-03-25 20:27 被阅读0次
  • 在es5中,可以使用Array.isArray()函数来判断。

Array.isArray([]); //true
Array.isArray({}); //false
  • 在es3中,通过检查对象的类属性来判断。

对象的类属性(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权威指南》。

相关文章

网友评论

      本文标题:判断一个对象是否为数组

      本文链接:https://www.haomeiwen.com/subject/jhesvqtx.html