【发布时间】:2011-12-01 00:23:58
【问题描述】:
【问题讨论】:
-
是的,但是这个优雅的解决方案对我的具体问题非常有用,但没有一个建议的重复项得到回答......无论如何,谢谢!
标签: javascript
【问题讨论】:
标签: javascript
来自 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");
}
【讨论】: