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

JavaScript Set 是一个内置对象,用来存储唯一值的集合,无论值的类型是原始类型还是对象,重复添加的值都会被自动忽略。 它不按索引排序,也不支持通过下标访问元素,但能高效地判断某个值是否存在、去重、求交集或差集等。
创建和初始化 Set
用 new Set() 创建空集合,也可以传入一个可迭代对象(如数组)来初始化:
-
const set1 = new Set();—— 创建空 Set -
const set2 = new Set([1, 2, 2, 3, 3]);—— 自动去重,结果为{1, 2, 3} -
const set3 = new Set("hello");—— 字符串会被拆成单字符,结果为{"h", "e", "l", "o"}(注意:只有一个 "l")
常用操作方法
Set 提供了清晰的方法管理数据:
-
add(value):添加一个值,返回 Set 本身(可链式调用) -
has(value):返回布尔值,判断是否包含某值(比数组includes更快,尤其大数据量) -
delete(value):删除指定值,返回是否删除成功 -
clear():清空所有元素 -
size:获取当前元素个数(不是方法,是属性)
例如:
const colors = new Set();<br>
colors.add("red").add("blue").add("red"); // 只存两个值<br>
console.log(colors.size); // 2<br>
console.log(colors.has("green")); // false登录后复制
遍历和转换
Set 支持多种遍历方式,也容易转成其他数据结构:
标签: javascript java 大数据 可迭代对象 red
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~