JavaScript映射和哈希表



我想这个问题以前没有人问过。这是关于Javascript地图:

var myMap = new Map();

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

来自规范:

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

因此,这取决于JavaScript引擎的实现,但它必须以提供与使用哈希表相同的好处的方式来实现,因此使用哈希表将是实现的明智方法。规范特别禁止实现Map,这样查找条目就需要对元素进行线性搜索。


规范规定了Map对象的行为方式。JavaScript引擎(Chrome和Chromium和Node.js中的V8、Firefox中的SpiderMonkey、Safari中的JavaScriptCore、Edge中的Chakra…(实现了这种行为。他们如何做到这一点取决于他们,只要他们以符合规范的方式来做。

最新更新