JavaScript Map
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 值:
实例
fruits.set("apples", 200);
get() 方法
get()
方法获取 Map 中键的值:
实例
fruits.get("apples"); // 返回 500
Map 是对象
typeof
返回 object:
实例
// 返回 object: typeof fruits;
instanceof Map
返回 true:
实例
// 返回 true: fruits instanceof Map;
JavaScript 对象与 Map 的区别
以下是 JavaScript 对象与 Map 的区别:
对象 | Map |
---|---|
不可直接迭代 | 可直接迭代 |
没有 size 属性 | 有 size 属性 |
键必须是字符串或 Symbol | 键可以是任何数据类型 |
键的顺序不明确 | 键按插入顺序排序 |
有默认键 | 没有默认键 |
完整的 Map 参考手册
如需完整参考,请访问我们的:JavaScript Map 参考手册。
该手册包含所有 Map 属性和方法的描述和实例。
浏览器支持
Map 是 ES6 的特性(JavaScript 2015)。
自 2017 年 6 月起,所有现代浏览器均支持 ES6:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Internet Explorer 不支持 Map。