1. 声明一个set(set集合具有唯一性,相同会被删去)
let s =new Set();
//接收一个数组
let s2=new Set(['1号','2号','3号','4号','5号','6号','7号','8号']);
//set API
//元素个数:
s.size
//添加新元素
s.add('10号')
//删除元素
s.delete('2号')
//检测元素
s.has('5号')
//清空元素
s.clear();
//可以使用迭代器
for(let v of s2){
console.log(v);
}
2.Set实践
数组去重,取交集、并集、差集
<script>
let arr = [1,2,3,4,5,6,5,4,3,2,1];
//1.数组去重
let result = [...new Set(arr)];
console.log(result);
//2. 交集
let arr2=[5,6,7,8,2,1,5,7]
let result2 = [...new Set(arr)].filter(item=>{
let s2=new Set(arr2);//1 2 5 6 7 8(对象)
if(s2.has(item)){
return true;
}else{
return false;
}
});
console.log(result2);
// result1为result2简写
let result1 = [...new Set(arr)].filter(item=>new Set(arr2).has(item));
console.log(result1);
//3.并集
let union = [...new Set([...arr, ...arr2])];
console.log(union );
//4.差集
let diff=[...new Set(arr)].filter(item =>!(new Set(arr2).has(item)));
console.log(diff);
</script>