一、 利用Set
- new Set
- filter
has
let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);//并集let union = [...new Set([...a],[...b])];// Set {1, 2, 3, 4}// [1,2,3,4]//交集let intersect = new Set([...a].filter(x=> b.has(x)))// set {2, 3}// [2,3]//差集// (a 相对于 b 的)差集let difference = new Set([...a].filter(x => !b.has(x)));// Set {1}// [1]
二、利用数组的方法
[].includes
- filter ```javascript let a = [1, 2, 3]; let b = [2, 4, 5];
// 并集 let union = a.concat(b.filter(v => !a.includes(v))) // [1,2,3,4,5]
// 交集 let intersection = a.filter(v => b.includes(v)) // [2]
// 差集 let difference = a.concat(b).filter(v => !a.includes(v) || !b.includes(v)) // [1,3,4,5] ```
