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],
]);