📅  最后修改于: 2023-12-03 14:42:40.132000             🧑  作者: Mango
JavaScript中的Map是一个用于储存键值对的集合,其中的键和值可以是任意类型的数据,包括对象和函数。它类似于对象(Object),不同之处在于,对象的键必须是字符串或 Symbol 类型,而 Map 的键可以是任何类型,包括原始类型和引用类型。
可以通过 Map 构造函数来创建一个空的 Map 对象,如下所示:
const myMap = new Map();
可以传入一个数组,其中每个元素都是一个表示键值对的数组(包括键和值),如下所示:
const myMap = new Map([
['key1', 'value1'],
['key2', 'value2']
]);
可以使用 Map 的 set() 方法向 Map 对象添加键值对,如下所示:
myMap.set('key3', 'value3')
可以使用 Map 的 get() 方法获取指定键对应的值,如果指定的键不存在,则返回 undefined,如下所示:
myMap.get('key3') // 返回 'value3'
myMap.get('key4') // 返回 undefined
可以使用 Map 的 has() 方法判断指定的键是否存在,如下所示:
myMap.has('key3') // 返回 true
myMap.has('key4') // 返回 false
可以使用 Map 的 delete() 方法删除指定的键值对,如下所示:
myMap.delete('key3')
可以使用 Map 的 clear() 方法清空 Map 对象中的所有键值对,如下所示:
myMap.clear()
可以使用 Map 的 forEach() 方法和 for...of 循环来遍历 Map 对象中的所有键值对,如下所示:
// 使用 forEach() 方法遍历 Map 对象
myMap.forEach((value, key) => {
console.log(`${key} = ${value}`);
});
// 使用 for...of 循环遍历 Map 对象
for (let [key, value] of myMap) {
console.log(`${key} = ${value}`);
}
Map 是一个非常实用的数据结构,它可以用于储存任意类型的键值对,并且提供了一组方便的方法来管理这些键值对。在实际开发中,我们可以根据具体需求选用合适的数据结构来解决问题,Map 作为一种强大而灵活的数据结构,经常被用于处理复杂的数据结构和算法问题。