JavaScript Maps
Map 包含键值对,其中键可以是任何数据类型。
Map 会记住键的原始插入顺序。
如何创建一个 Map
你可以通过以下方式创建 JavaScript Map:
- 将数组传递给
new Map() - 创建 Map 并使用
Map.set()
new Map() 方法
你可以将数组传递给 new Map() 构造函数来创建一个 Map。
示例
// 创建一个 Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
自己动手试一试 »
set() 方法
你可以使用 set() 方法向 Map 添加元素。
示例
// 创建一个 Map
const fruits = new Map();
// 设置 Map 值
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
自己动手试一试 »
set() 方法也可用于更改现有的 Map 值。
get() 方法
get() 方法获取 Map 中键的值。
Map 是 Object
typeof 返回 object
instanceof Map 返回 true
JavaScript Object 与 Map 对比
JavaScript Object 和 Map 之间的区别
| 对象 | Map |
|---|---|
| 不能直接迭代 | 可直接迭代 |
| 没有 size 属性 | 有 size 属性 |
| 键必须是字符串(或 Symbol) | 键可以是任何数据类型 |
| 键顺序不明确 | 键按插入顺序排列 |
| 有默认键 | 没有默认键 |
浏览器支持
Map 是 ES6 功能(JavaScript 2015)。
自 2017 年 6 月起,所有现代浏览器都完全支持 ES6
| Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
| 2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Map 在 Internet Explorer 中不受支持。