JavaScript Set和Map集合

预计阅读时间1 分 240 views

在 Javascript 开发中,我们常常需要处理数据的存储和访问。当遇到需要高效去重或者需要键值对存储时,Set 和 Map 集合可满足我们的需求。

Set 集合

Set 是一种特殊的数据结构,它类似于数组,但其成员的值都是唯一的,没有重复的值。这意味着,如果你尝试向 Set 中添加一个已经存在的值,它将不会被重复添加。

1、创建 Set 对象:

const mySet = new Set();

2、添加元素:

使用 add() 方法向 Set 中添加元素。如果添加重复元素,Set 会自动忽略。

mySet.add(1);
mySet.add("hello");
mySet.add({name: "Alice"});
mySet.add(1); // 重复添加,会被忽略

3、检查元素是否存在:

使用 has() 方法检查 Set 中是否包含某个元素。

mySet.has(1); // true
mySet.has("world"); // false

4、遍历 Set:

可以使用 for…of 循环遍历 Set 中的元素。

for (const item of mySet) {
  console.log(item);
}

5、其他常用方法:

  • delete(value): 删除 Set 中的指定元素。
  • clear(): 清空 Set 中的所有元素。
  • size: 获取 Set 中元素的数量。

Map 集合

与只能存储值的 Set 不同,Map 对象允许你存储键值对,并支持任何类型作为键。

1、创建 Map 对象:

const myMap = new Map();

2、添加键值对:

使用 set(key, value) 方法向 Map 中添加键值对。

myMap.set("name", "Bob");
myMap.set(1, "one");
myMap.set({id: 1}, {name: "Charlie"});

3、获取值:

使用 get(key) 方法根据键获取对应的值。

myMap.get("name"); // "Bob"
myMap.get(1); // "one"

4、检查键是否存在:

使用 has(key) 方法检查 Map 中是否包含某个键。

myMap.has("name"); // true
myMap.has("age"); // false

5、遍历 Map:

可以使用 for…of 循环遍历 Map 中的键值对。

for (const [key, value] of myMap) {
  console.log(key, value);
}

6、其他常用方法:

  • delete(key): 删除 Map 中指定键的键值对。
  • clear(): 清空 Map 中的所有键值对。
  • size: 获取 Map 中键值对的数量。
分享此文档

JavaScript Set和Map集合

或复制链接

本页目录