JavaScript Map 参考手册
Map 是一种存储键值对的数据结构,其中键可以是任何数据类型。
Map 会记住键的原始插入顺序。
Map 方法和属性
| 方法/属性 | 描述 |
|---|---|
| new Map() | 创建新的 Map 对象。 |
| clear() | 移除 Map 中的所有元素。 |
| delete() | 通过键移除 Map 中的元素。 |
| entries() | 返回包含 Map 中 [键, 值] 对的迭代器对象。 |
| forEach() | 为 Map 中的每个键/值对调用回调函数。 |
| get() | 获取 Map 中某个键的值。 |
| groupBy() | 根据回调函数返回的值对对象元素进行分组。 |
| has() | 如果 Map 中存在某个键,则返回 true。 |
| keys() | 返回包含 Map 中键的迭代器对象。 |
| set() | 为 Map 中的某个键设置值。 |
| size | 返回 Map 中元素的数量。 |
| values() | 返回包含 Map 中值的迭代器对象。 |
实例
例子 1
// 创建 Map const fruits = new Map([ ["apples", 500], ["bananas", 300], ["oranges", 200] ]);
例子 2
您可以使用 set() 方法向 Map 中添加元素:
// 创建 Map
const fruits = new Map();
// 设置 Map 的值
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
例子 3
您可以使用 get() 方法从 Map 中获取元素:
// 获取 "apples" 的值
let value = fruits.get("apples");
JavaScript Objects vs Maps
JavaScript 对象与 Map 的区别
JavaScript 对象与 Map 之间的区别:
| 对象 | Map |
|---|---|
| 不能直接迭代 | 可以直接迭代 |
| 没有 size 属性 | 有 size 属性 |
| 键必须是字符串(或符号) | 键可以是任何数据类型 |
| 键的顺序不明确 | 键按插入顺序排序 |
| 有默认键 | 没有默认键 |