0.set的主要方法有:
.has() .delete() .clear() .add()
对其循环的方法为:
for(let item of set)
对其属性的循环的方法为:
for(let item of set.values())等
1.求2个数组的并集:
let a=[1,2,3,4];
let b=[2,3,4,5];
let union=new Set([...a,...b]);
b=new Set(b);
2.求2个数组的差集:
let a=[1,2,3,4];
let b=[2,3,4,5];
let intersect=new Set([...a].filter(x=>b.has(x)));
3.简单的数组去重:
let set =new Set(['red','green','yellw','red']);
4.在遍历中修改set的结构
let origin=new Set([1,2,3]);
origin=new Set(Array.from(origin,val=>val*2));
增加一个,去重的方法也可以用map结构来简单实现,具体如下:
let a=[1,1,88,3,4];
let len=a.length;
let map=new Map();
let index=0;
for(let i=0;i<len;i++){
if(!map.has(a[i])){
map.set(a[i],index++);
}
}
console.log(`去重后的结果为:`);
console.log(map);