【问题标题】:Difference between array and arrayvalue [duplicate]数组和数组值之间的区别[重复]
【发布时间】:2011-12-01 00:23:58
【问题描述】:

可能重复:
How do you check if a variable is an array in JavaScript?

如何检查一个变量是一个数组(这样我可以处理每个数组值)还是单个数组值?

【问题讨论】:

  • 是的,但是这个优雅的解决方案对我的具体问题非常有用,但没有一个建议的重复项得到回答......无论如何,谢谢!

标签: javascript


【解决方案1】:

来自 MDN page 的 isArray,它是 ECMAScript 5 标准的一部分:

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

在许多情况下,您也可以只检查是否有 .length 属性(这通常是 jQuery 所做的),因为这也将接受任何实际上不是数组的类数组对象,但可以是像一个一样迭代。显然,如果您的某些东西确实具有 .length 属性,而您不希望将其视为数组,那么这将被这种情况所愚弄,因此您必须知道您想要哪个:

function isArrayLike(item) {
    return(typeof item.length != "undefined");
}

【讨论】:

    猜你喜欢
    • 2013-05-17
    • 2011-07-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 2021-06-14
    相关资源
    最近更新 更多