var arr = [1,2,3,3,2,1,4,5];
// 实例化时传入数组
var s = new Set([...arr]);
// set数组长度
console.log(s.size)
// 判断是否存在
console.log(s.has(1))
// 删除一项
s.delete(2);
console.log(s.has(2))
// 使用扩展运算符生成数组
// console.log([...s]);
// 使用Array.from生成数组
var a = Array.from(s);
console.log(a);
// 去除数组重复成员 函数
function dedupe(array) {
return [...new Set(array)];
// return Array.from(new Set(array));
}
var aaa = dedupe([1,2,2,3,4,5,5,5,5,6,6,6,6,7,7,7]);
var bbb = [...new Set([1,2,2,3,4,5,5,5,5,6,6,6,6,7,7,7])];
console.log(aaa,bbb)
// 实现 两个数组 求全集 求交集 求差集
var a = [1,2,3,4];
var b = [3,4,5,6];
// 全集 [1,2,3,4,5,6] 交集 [3,4] 差集[1,2,5,6]
var aSet = new Set([...a]);
var bSet = new Set([...b]);
// 全集
var qj = [...new Set([...a,...b])];
console.log('全集',qj)
// 交集
var jj = [...aSet].filter((a) => bSet.has(a));
console.log('交集',jj)
// 差集
var cj = [...[...aSet].filter((a) => !bSet.has(a)),...[...bSet].filter((a) => !aSet.has(a))];
// 或者
var cj =[...aSet,...bSet].filter((a) => !bSet.has(a) || !aSet.has(a));
console.log('差集',cj)