6 lines
237 B
JavaScript
6 lines
237 B
JavaScript
const symmetricDifferenceBy = (a, b, fn) => {
|
|
const sA = new Set(a.map(v => fn(v))),
|
|
sB = new Set(b.map(v => fn(v)));
|
|
return [...a.filter(x => !sB.has(fn(x))), ...b.filter(x => !sA.has(fn(x)))];
|
|
};
|
|
module.exports = symmetricDifferenceBy; |