如何获取JavaScript哈希表的数量?

46

可能的重复:
JavaScript关联数组的长度

hash_table = {a: 131, b: 222, c:313}

由于length方法会被误认为是键,因此它不起作用。

那么我该怎么做呢?


从重复的问题中,这里没有一个有用的答案。使用下划线的大小,_.size()。https://dev59.com/QXVD5IYBdhLWcg3wWaVh#11346637 - Thaddeus Albers
2个回答

83

它是否也会返回继承的属性? - rsk82
不会,它将只返回自己的属性。 - qiao
据我所知,Object.keys在IE8及以下版本中不受支持,所以请注意... - Irongaze.com
1
始终支持于2017年 :) - Plaute

1
var count = 0;
for ( property in hash_table ) count++;

JSON是一种数据交换格式,与JavaScript没有任何关系,除了名称和类似的语法。JavaScript没有“关联数组”,只有数组。 - Felix Kling
感谢您的反馈:我已经相应地编辑了我的答案! - simonecampora
还有,你说的“以关联方式使用数组”是什么意思?length属性只会对数值属性进行更新,比如arr[0] = 42.。非数值属性不会更新length,因此不应该用于数组,这样只会造成混淆。 - Felix Kling
请在这里查找更多详细信息:http://en.wikipedia.org/wiki/JavaScript_syntax#Array “可以使用对象字面量声明来创建行为类似于关联数组的对象”,但实际上我错了。我会编辑我的答案。 - simonecampora

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接