22 lines
526 B
JavaScript
22 lines
526 B
JavaScript
// https://www.freecodecamp.org/learn/coding-interview-prep/algorithms/find-the-symmetric-difference
|
|
|
|
function sym() {
|
|
const symDiff = {};
|
|
for (let [_, arr] of Object.entries(arguments)) {
|
|
const set = {};
|
|
arr.forEach((e) => {
|
|
set[e] = true;
|
|
});
|
|
for (let [e, _] of Object.entries(set)) {
|
|
if (symDiff[e]) {
|
|
delete symDiff[e];
|
|
} else {
|
|
symDiff[e] = true;
|
|
}
|
|
}
|
|
}
|
|
return Object.keys(symDiff).map((e) => Number(e));
|
|
}
|
|
|
|
console.log(sym([1, 2, 3, 3], [5, 2, 1, 4]));
|