JavaScript映射和哈希表

时间:2018-12-07 08:08:44

标签: javascript hashtable

我认为以前没有问过这个问题。这是关于Javascript Map的:

var myMap = new Map();

Javascript Map和哈希表之间是什么关系? Map是哈希表的实现吗?

1 个答案:

答案 0 :(得分:1)

来自the specification

  

必须使用哈希表或其他机制实现Map对象,这些机制平均提供的访问时间与集合中元素的数量成线性关系。

这取决于JavaScript引擎的实现¹,但必须以使用散列表提供相同好处的方式实现,因此使用散列表将是明智的选择实施。该规范特别禁止实现Map,以便查找条目涉及对元素的线性搜索。


¹规范说明Map对象必须如何行为。 JavaScript引擎(Chrome和Chromium中的V8和Node.js,Firefox中的SpiderMonkey,Safari中的JavaScriptCore,Edge中的Chakra ...)实现了该行为。只要他们以符合规范的方式进行操作,就应由他们来决定。