Python字典的Javascript实现

Python字典的Javascript实现,javascript,python,dictionary,hash,Javascript,Python,Dictionary,Hash,所以,我刚刚了解了python对哈希表的实现,即字典 以下是我到目前为止的理解,如果我错了,请纠正我: 字典基本上是包含键值对的结构化数据 当我们想要搜索一个键时,我们可以直接调用dict[key]。这是可能的,因为python对键执行特定的哈希函数。哈希结果是字典中值的索引。这样,我们可以在执行哈希函数后直接获取值,而不是遍历列表 当哈希表填充为其最大大小的2/3时,Python将通过增加“bucket”的数量来更新哈希表 Python将始终确保每个“bucket”中只有一个条目,这样查找性能

所以,我刚刚了解了python对哈希表的实现,即字典

以下是我到目前为止的理解,如果我错了,请纠正我:

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


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

    javascript对象可以用作字典,但有关javascript映射实现的详细信息,请参阅。一些关键的收获是:

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

    根据经验法则:如果要创建语义上的集合(关联数组),请使用映射。如果要存储不同类型的值,请使用一个对象。

    不要将JavaScript对象滥用为DICT–请参阅更合适和更详细的说明