6

我不确定它们叫什么,但我的意思是:

array["water"] = 50;
array["fire"] = 30;

这里的长度应该是 2

如何查看数组中有多少属性?array.length 不起作用=(我一直在尝试各种事情,我觉得我在这里错过了一些非常简单的东西..

谢谢您的帮助

4

1 回答 1

6

您可以使用Object.keys()获取键数组,然后对它们进行计数:

Object.keys(array).length

或者,如果您的目标是 ECMAScript 3 或者没有Object.keys(),那么您可以手动计算密钥:

var length = 0;
for (var key in array) {
    if (array.hasOwnProperty(key)) {
        ++length;
    }
}

不过,这种方法存在一些边缘情况,具体取决于您所针对的浏览器,因此使用Mozilla 的 polyfill forObject.keys()可能是一个好主意。

于 2013-08-04T18:08:38.217 回答