Set
是值的汇合,且汇合内的元素只会呈现一次。
Set 的根本 API 如下
-
new Set
— 创立汇合const set = new Set(); // 创立一个名为 set 的汇合 console.log(set);
-
add
— 增加元素// 在 set 汇合中插入 1,2,3 2 不会被反复增加 set.add(1).add(2).add(2).add(3); console.log(set); //{1, 2, 3}
-
delete
— 删除元素// 从汇合 set 中删除元素 3 set.delete(3); console.log(set); //{1, 2}
-
has
— 元素是否在汇合中// 判断 1 是否存在汇合 set 中 console.log(set.has(1)); //true
-
size
— 汇合大小//size 属性返回汇合元素个数 (汇合大小) console.log(set.size); //2
-
for of
— 遍历汇合// 遍历汇合 set for (const item of set) {console.log(item); //1 2 }
Set 应用场景
-
数组去重
const A = [1, 2, 2, 3, 3, 4]; console.log(new Set([...A])); //{1,2,3,4}
-
汇合并集
const A = new Set([1, 2, 3]); const B = new Set([2, 3, 4]); const union = new Set([...A, ...B]); // 并集 {1,2,3,4}
-
交加
const intersection = new Set([...A].filter((x) => B.has(x)));// 交加 {2,3}
-
差集
const difference = new Set([...union].filter((x) => !intersection.has(x))); // 差集 {1,4}