我不确定他们叫什么,但我的意思是:
array["water"] = 50;
array["fire"] = 30;
长度应为2
如何查看数组中有多少属性? array.length不起作用=(我一直在尝试各种各样的事情,我觉得我错过了一些非常简单的东西..
感谢您的帮助
答案 0 :(得分: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's polyfill for Object.keys()
可能是一个好主意。