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 属性 |
键必须是字符串(或符号) | 键可以是任何数据类型 |
键的顺序不明确 | 键按插入顺序排序 |
有默认键 | 没有默认键 |