返回两个数组之间的差集。
根据每个数组创建一个 Set
,然后在每个数组上使用 Array.filter()
,只保留另一个数组不包含的值。
const symmetricDifference = (a, b) => { const sA = new Set(a), sB = new Set(b); return [...a.filter(x => !sB.has(x)), ...b.filter(x => !sA.has(x))]; };
symmetricDifference([1, 2, 3], [1, 2, 4]); // [3,4]