在 JavaScript 中,Map 对象是一种键值对的集合,类似于对象,但“键”可以是任何数据类型(对象或原始值)。Map 提供了多种方法来操作这些键值对。以下是 Map 对象的一些常用方法:
创建和初始化
-
new Map(): 创建一个新的空Map对象。 -
new Map(iterable): 使用一个可迭代的对象(如数组或其他Map)来初始化一个新的Map对象。
添加和更新
-
set(key, value): 向Map对象中添加或更新一个键值对。返回该Map对象。
删除
-
delete(key): 移除Map对象中指定的元素。如果元素存在,则返回true,否则返回false。 -
clear(): 移除Map对象中的所有元素。
获取
-
get(key): 返回指定键的值,如果不存在,则返回undefined。 -
has(key): 返回一个布尔值,表示Map对象中是否存在指定的键。
遍历
-
keys(): 返回一个包含Map对象中所有键的新迭代器对象。 -
values(): 返回一个包含Map对象中所有值的新迭代器对象。 -
entries(): 返回一个包含Map对象中所有键值对的新迭代器对象。 -
forEach(callbackFn, thisArg): 对Map对象中的每个键值对执行一次提供的函数。
集合操作
-
size: 返回一个表示Map对象中键值对数量的属性。
示例代码
// 创建一个新的 Map 对象
let myMap = new Map();
// 添加键值对
myMap.set('name', 'Alice');
myMap.set('age', 25);
// 获取值
console.log(myMap.get('name')); // 输出: Alice
console.log(myMap.get('age')); // 输出: 25
// 检查键是否存在
console.log(myMap.has('name')); // 输出: true
console.log(myMap.has('address')); // 输出: false
// 删除键值对
myMap.delete('age');
console.log(myMap.has('age')); // 输出: false
// 清除所有键值对
myMap.clear();
console.log(myMap.size); // 输出: 0
// 使用迭代器
for (let [key, value] of myMap.entries()) {
console.log(key, value);
}
// 使用 forEach
myMap.set('name', 'Bob');
myMap.set('city', 'New York');
myMap.forEach((value, key, map) => {
console.log(key + ": " + value);
});这些方法使得 Map 对象在处理键值对时非常灵活和强大。










