如何获取 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 哈希表计数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

哈希表(JavaScript实现)

如何在 Javascript 中对哈希表进行排序?

JavaScript 中的哈希表

LeetCode 哈希表 387. 字符串中的第一个唯一字符(计数哈希表,字符串)

如何将 Python 字典转换为 JavaScript 哈希表?

811. 子域名访问计数 : 简单哈希表运用题