📜  js 使用 set 唯一 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:22.937000             🧑  作者: Mango

JS 使用 Set 唯一

在 Javascript 中,有时候需要对数组进行去重操作,这时候可以使用 Set。

Set 简介

Set 是 ES6 中新增的一种数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set 本身是一个构造函数,用来生成 Set 数据类型的值。

Set 的常用操作包括:

  • 添加元素:使用 add 方法。
  • 删除元素:使用 delete 方法。
  • 查找元素:使用 has 方法。
  • 清空所有元素:使用 clear 方法。

Set 与数组的相互转换可以使用以下方法:

  • 将数组转换为 Set:使用 Set 构造函数。
  • 将 Set 转换为数组:使用 Array.from 方法或者展开运算符(...)。
// 数组转换为 Set
const arr = [1, 2, 3, 2, 1];
const set = new Set(arr);
console.log(set); // Set {1, 2, 3}

// Set 转换为数组
const arr2 = Array.from(set);
const arr3 = [...set];
console.log(arr2); // [1, 2, 3]
console.log(arr3); // [1, 2, 3]
数组去重

使用 Set 可以方便地进行数组去重操作,以下是一个去重的例子:

const arr = [1, 2, 3, 2, 1];
const set = new Set(arr);
const uniqueArr = Array.from(set);
console.log(uniqueArr); // [1, 2, 3]
其他用途

除了数组去重之外,Set 还可以用于以下场景:

  • 检查某个值是否在集合中。
  • 遍历集合中的元素。
// 检查值是否在集合中
const set = new Set([1, 2, 3]);
console.log(set.has(2)); // true
console.log(set.has(4)); // false

// 遍历集合中的元素
const set2 = new Set([1, 2, 3]);
set2.forEach((value, key) => {
  console.log(value);
});
总结

Set 是一种数据结构,可以用来存储不重复的值。它包含了常用的添加、删除、查找和清空操作,还可以方便地进行数组去重操作。除此之外,Set 还可以用于检查值是否在集合中以及遍历集合中的元素。