Map 对象的方法
set
向 Map
对象中添加一个键值对。如果键已存在,则更新对应的值。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
map.set('country', 'USA');
console.log(map);
// Map { 'name' => 'Alice', 'age' => 25, 'country' => 'USA' }
get
根据键获取对应的值。如果键不存在,则返回 undefined
。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
console.log(map.get('name')); // Alice
console.log(map.get('age')); // undefined
has
判断 Map
对象中是否存在某个键。返回一个布尔值。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
console.log(map.has('name')); // true
console.log(map.has('age')); // false
delete
删除 Map
对象中的某个键值对。如果删除成功,返回 true
,否则返回 false
。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
console.log(map.delete('name')); // true
console.log(map.has('name')); // false
clear
移除 Map
对象中的所有键值对。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
map.clear();
console.log(map.size); // 0
size
返回 Map
对象中键值对的数量。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
console.log(map.size); // 2
keys
返回一个包含 Map
对象中所有键的迭代器。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
for (const key of map.keys()) {
console.log(key);
}
// 输出:
// name
// age
values
返回一个包含 Map
对象中所有值的迭代器。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
for (const value of map.values()) {
console.log(value);
}
// 输出:
// Alice
// 25
entries
返回一个包含 Map
对象中所有键值对的迭代器。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
for (const [key, value] of map.entries()) {
console.log(`${key}: ${value}`);
}
// 输出:
// name: Alice
// age: 25
forEach
对 Map
对象中的每个键值对执行一次提供的回调函数。
javascript复制代码const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
map.forEach((value, key) => {
console.log(`${key}: ${value}`);
});
// 输出:
// name: Alice
// age: 25
总结
Map
对象提供了一种有效的方法来存储和操作键值对。它的常用方法如下:
- 基本操作:
set
、get
、has
、delete
- 集合操作:
clear
、size
- 迭代器:
keys
、values
、entries
- 遍历:
forEach