Javascript实现Python字典

时间:2017-02-08 18:30:07

标签: javascript python dictionary hash

所以,我刚刚学习了python的哈希表实现,这是一个字典。

所以这是我目前所理解的,如果我错了,请纠正我:

  1. 字典基本上是包含键值对的结构化数据。
  2. 当我们想要搜索一个键时,我们可以直接调用dict [key]。这是可能的,因为python在密钥上执行某个哈希函数。哈希结果是字典中值的索引。这样,我们可以在执行哈希函数后直接获取值,而不是遍历列表。
  3. Python将通过增加'桶的数量来更新哈希表。当哈希表填充其最大大小的2/3时。
  4. Python将始终确保每一个桶都能满足需求。将只有1个条目,以便查找性能最佳,无需迭代。
  5. 我的第一个问题是,我是否正确理解了python词典?

    第二,javascript对象是否也具有所有这4个功能?如果没有,是否还有另一个内置的字典/哈希表的javascript实现?

1 个答案:

答案 0 :(得分:1)

JavaScript对象可以用作词典,但有关JavaScript Map实现的详细信息,请参阅Map。一些关键的要点是:

  • 对象原型可能会导致密钥冲突
  • 对象键可以是字符串或符号。地图键可以是任何值。
  • 没有直接的方法来确定一个Object有多少“map”条目,而Map.prototype.size则告诉你它有多少条目。

根据经验:如果您在语义上创建一个集合(关联数组),请使用Map。如果要存储不同类型的值,请使用Object。