Files
30-seconds-of-code/test/symmetricDifferenceBy/symmetricDifferenceBy.js
2018-08-02 13:49:33 +03:00

7 lines
246 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;