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中删除元素3set.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
---遍历汇合//遍历汇合setfor (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}