How to get JavaScript hash table count?
Possible Duplicate:
Length of Javascript Associative Array
1
| hash_table = {a: 131, b: 222, c:313} |
当然,长度方法不起作用,因为它将与键混淆。
那我该怎么做呢?
- 从重复的问题中,一个有用的答案不在这里。使用下划线的大小,.size()。stackoverflow.com/a/11346637/1684480
Object.keys将返回对象中的所有键作为列表,然后使用length获取长度。
例子:
1
| Object.keys(hash_table).length |
请注意,这是ECMA 5,在某些浏览器中可能不可用。完整文档请参见https://developer.mozilla.org/en/javascript/reference/global_objects/object/keys。
- 它还会返回继承的属性吗?
- 不,它只返回自己的属性。
- 据我所知,IE8和更低版本不支持object.keys,因此请注意…
- 2017年始终支持:)
1 2
| var count = 0;
for ( property in hash_table ) count++; |
- JSON是一种数据交换格式,除了名称和类似的语法之外,它与JavaScript没有任何关系。javascript没有"关联数组",只有数组。
- 感谢您的反馈:我已经相应地编辑了我的答案!
- 不过,"以关联方式使用数组"是什么意思?length属性仅针对数值属性更新,即arr[0] = 42.。非数值属性不更新length,不应用于数组,因为它只是混淆了。
- 请在这里找到更多详细信息:en.wikipedia.org/wiki/javascript array"一个人可以使用对象声明文字来创建行为类似关联数组的对象",但实际上我错了。我会编辑我的答案