如何获取 JavaScript 哈希表计数? [复制]
Posted
技术标签:
【中文标题】如何获取 JavaScript 哈希表计数? [复制]【英文标题】:How to get JavaScript hash table count? [duplicate] 【发布时间】:2012-01-31 21:35:25 【问题描述】:可能重复:Length of javascript Associative Array
hash_table = a: 131, b: 222, c:313
length 方法当然不起作用,因为它会与键混淆。
那我该怎么做呢?
【问题讨论】:
从重复的问题中,一个有用的答案不在这里。使用下划线的大小,_.size()。 ***.com/a/11346637/1684480 【参考方案1】:Object.keys
会将对象中的所有键作为一个列表返回,然后使用length获取长度。
示例:
Object.keys(hash_table).length
请注意,这是 ECMA 5,在某些浏览器中可能不可用。有关完整文档,请参阅 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys。
【讨论】:
它还会返回继承的属性吗? 不,它只会返回自己的属性。 据我了解,IE8及更低版本不支持Object.keys,请注意... 2017 年始终支持 :)【参考方案2】:var count = 0;
for ( property in hash_table ) count++;
【讨论】:
JSON 是一种数据交换格式,除了名称和语法类似外,与 JavaScript 无关。 JavaScript 没有“关联数组”,只有数组。 感谢您的反馈:我已经相应地编辑了我的答案! 仍然,“以关联方式使用数组”是什么意思?length
属性仅针对数字属性更新,即arr[0] = 42.
。非数字属性不会更新 length
并且不应该用于数组,因为它只会令人困惑。
请在此处找到更多详细信息:en.wikipedia.org/wiki/JavaScript_syntax#Array“可以使用对象声明文字来创建行为与关联数组非常相似的对象”,但实际上我错了。我将编辑我的答案以上是关于如何获取 JavaScript 哈希表计数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 哈希表 387. 字符串中的第一个唯一字符(计数哈希表,字符串)