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