贝利信息

javascript Set是什么_怎样用它存储唯一值的集合?

日期:2025-12-18 00:00 / 作者:夜晨
JavaScript Set 是用于存储唯一值的内置对象,自动去重、支持高效存在性判断与集合运算,不按索引排序,可通过 add/has/delete/clear 等方法操作,支持 for...of 和 forEach 遍历及转数组等转换。

JavaScript Set 是一个内置对象,用来存储唯一值的集合,无论值的类型是原始类型还是对象,重复添加的值都会被自动忽略。 它不按索引排序,也不支持通过下标访问元素,但能高效地判断某个值是否存在、去重、求交集或差集等。

创建和初始化 Set

new Set() 创建空集合,也可以传入一个可迭代对象(如数组)来初始化:

常用操作方法

Set 提供了清晰的方法管理数据:

例如:

const colors = new Set();
colors.add("red").add("blue").add("red"); // 只存两个值
console.log(colors.size); // 2
console.log(colors.has("green")); // false

遍历和转换

Set 支持多种遍历方式,也容易转成其他数据结构:

配合数组去重和集合运算

Set 最常见的用途之一就是快速去重:

注意:Set 的相等判断使用 SameValueZero 算法,所以 NaN === NaN 为 true,0-0 被视为相同。