📜  JavaScript中的Map(1)

📅  最后修改于: 2023-12-03 14:42:40.132000             🧑  作者: Mango

JavaScript中的Map介绍

JavaScript中的Map是一个用于储存键值对的集合,其中的键和值可以是任意类型的数据,包括对象和函数。它类似于对象(Object),不同之处在于,对象的键必须是字符串或 Symbol 类型,而 Map 的键可以是任何类型,包括原始类型和引用类型。

创建Map对象

可以通过 Map 构造函数来创建一个空的 Map 对象,如下所示:

const myMap = new Map();

可以传入一个数组,其中每个元素都是一个表示键值对的数组(包括键和值),如下所示:

const myMap = new Map([
  ['key1', 'value1'],
  ['key2', 'value2']
]);
Map的基本操作
添加键值对

可以使用 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

可以使用 Map 的 clear() 方法清空 Map 对象中的所有键值对,如下所示:

myMap.clear()
遍历Map对象

可以使用 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 作为一种强大而灵活的数据结构,经常被用于处理复杂的数据结构和算法问题。