JS 数组 求合集 并集 差集
前言
防止以前写的代码记不住所以放到优快云
代码如下(示例):
let arr1= new Set([1,2,3,6]),
arr2= new Set([2,4,5,6]),
arr3= [1,2,3,6],
arr4= [2,4,5,6];
console.log('合集',[...new Set([...arr1, ...arr2])]) // ----------------------原始的数组不必须是使用new Set 创建的数组
console.log('并集',[...new Set([...arr1].filter(x => arr2.has(x)))]) // ----------------------原始的数组不必须是使用new Set 创建的数组
console.log('差集',[...arr1,...arr2].filter(x => !arr2.has(x) || !arr1.has(x))) // ----------------------原始的数组不必须是使用new Set 创建的数组
console.log('合集',arr3.concat(arr4.filter(v => !arr3.includes(v)))) // 最常用的写法 1 2 3 6 5 4
console.log('并集',arr3.filter(v => arr4.includes(v))) // 2 6
console.log('差集',arr3.concat(arr4).filter(v=> !arr3.includes(v) || !arr4.includes(v))) // 1 3 4 5