数组和数值之间的差异

时间:2011-10-04 20:48:52

标签: javascript

  

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

如何检查变量是否为数组(因此我可以处理每个数值)或单个数值?

1 个答案:

答案 0 :(得分:0)

来自isArray的MDN page,它是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");
}