首页 > 解决方案 > Javascript Map vs 元组数组

问题描述

我只是想了解javascript ES6 Maps(即let m = new Map())的查找时间为0(1)。我对 ES6 Maps 的理解是它的数据结构是基于元组数组的。您甚至可以在 Maps 的构造函数中使用元组数组。基本上,我的问题是:

怎么

let t = [[1,'hi'], [2,'bye']]

不同于

let m = new Map([[1,'hi'], [2,'bye']])

第一种情况显然会阻止持续查找。ES6 Map 如何实现常量查找?它们的底层数据结构是什么?

标签: javascriptes6-map

解决方案


一个合理的假设可能是使用 Hash-Map 数据结构进行 O(1) 查找。

也可能 Map 元组中的第一个元素可以使用键值对中的 Object 映射到数组的索引。因此,当调用特定键时,它可能会引用该对象。


推荐阅读