两个数组的并集/交集/差集

56 阅读1分钟

有两个数组,分别求并集、交集、差集?

const arr1 = [1, 2, 3, 4, 5];
const arr2 = [1, 3, 5, 7, 9];

并集

const union = Array.form(new Set([...arr1, ...arr2]));
console.log(union); // [1, 2, 3, 4, 5, 7, 9]

交集

const cross = Array.form(new Set(arr1.filter((item) => arr2.includes(item))));
console.log(cross); // [1, 3, 5]

差集

const diff = Array.form(new Set(union.filter((item) => !cross.includes(item))));
console.log(diff); // [2, 4, 7, 9]