关于javascript:数组和arrayValue的区别

Difference between array and arrayvalue

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How do you check if a variable is an array in JavaScript?

如何检查变量是数组(以便处理每个arrayValue)还是单个arrayValue?


从属于ECMAScript 5标准一部分的IsArray的MDN页面:

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

在许多情况下,您还可以检查是否存在.length属性(这通常是jquery所做的),因为这也将接受实际上不是数组但可以像数组一样迭代的任何类似数组的对象。显然,如果您有一些确实具有.length属性但不希望被视为数组的内容,那么这种情况会使您蒙蔽,因此您必须知道您想要的是什么:

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