用Set 解决数组常见操作(去重、并集,交集和差集)
去重
* 需要注意一点的是 new Set 无法去除对象
let arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a'];
console.log([...new Set(arr)])
//或
console.log(Array.from(new Set(arr)))
// [1, 'true', true, 15, false, undefined, null, NaN, 'NaN', 0, 'a']
并集,交集和差集
let a = new Set([1, 2, 3])
let b = new Set([2, 3, 4])
// 去重
console.log(new Set([...a,...b])) // Set(4) {1, 2, 3, 4}
//并集
console.log(new Set([...a]).filter(i => b.has(i))) // Set(2) {2, 3}
//交集
console.log(new Set([...a]).filter(i => !b.has(i))) // Set(1) {1}