Set类似于数组,但成员均是唯一的,没有重复值。Set本身是一个构造函数,用来生成Set数据结构。
数组去重
const arr=[2,2,3,4,4];
const uniqe=[...new Set(arr)];
//[2,3,4]
Array.from方法可以将Set结构转换为数组
//一个去重函数
function unique(arr){
return Array.from(new Set(arr));
}
unique([1,1,2])
//[1,2]
字符去重
Set可以容易实现并集union和交集intersect和差集difference
let a=new Set([1,2,3]);
let b=new Set([4,3,2]);
//并集
let union=new Set([...a,...b]);
//Set{1,2,3,4}
//交集
let intersect=new Set([...a].filter(x=>b.has(x)));
//Set{2,3}
//差集
let difference=new Set([...a].filter(x=>!b.has(x)));
//Set{1}