JavaScript Map 对象

JavaScript Map 对象按原始插入的顺序保存键值对。

JavaScript Map 对象按原始插入的顺序保存键值对。Map 的键可以是任何数据类型。

Map 对象的方法

方法 说明
new Map() 创建一个新的 Map 对象
set(key, value) 为 Map 对象中的键设置值
get(key) 获取 Map 对象中某个键的值
entries() 返回 Map 对象中键值对的数组
keys() 返回 Map 对象中的所有的键的数组
values() 返回 Map 对象中的所有的值的数组
clear() 删除 Map 中的所有元素
delete(key) 删除由键指定的元素。
has(key) 如果键存在,则返回 true。
forEach(callback) 循环对每个键值对执行回调方法

Map 对象的属性

属性 说明
size 返回 Map 中键值对的数量

创建 Map 对象

能够使用 Object 作为键是 Map 的一个重要特性。

const apples = { name: "Apples" };
const bananas = { name: "Bananas" };
const oranges = { name: "Oranges" };

// 创建一个 Map
const fruits = new Map();

// 向 Map 中添加元素
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

Map 对象的 get() 方法获取指定的键的值:

fruits.get(apples); // 返回 500
fruits.get("apples"); // 返回 undefined

您可以将数组传递给 new Map() 构造函数:

const apples = { name: "Apples" };
const bananas = { name: "Bananas" };
const oranges = { name: "Oranges" };

// 通过数组创建 Map
const fruits = new Map([
  [apples, 500],
  [bananas, 300],
  [oranges, 200],
]);