Returns every element that exists in any of the two arrays at least once, after applying the provided function to each array element of both.
Set
by applying all fn
to all values of a
.Set
from a
and all elements in b
whose value, after applying fn
does not match a value in the previously created set.const unionBy = (a, b, fn) => {
const s = new Set(a.map(fn));
return Array.from(new Set([...a, ...b.filter(x => !s.has(fn(x)))]));
};
unionBy([2.1], [1.2, 2.3], Math.floor); // [2.1, 1.2]
unionBy([{ id: 1 }, { id: 2 }], [{ id: 2 }, { id: 3 }], x => x.id)
// [{ id: 1 }, { id: 2 }, { id: 3 }]
JavaScript, Array
Returns the symmetric difference between two arrays, after applying the provided function to each array element of both.
JavaScript, Array
Returns the difference between two arrays, after applying the provided function to each array element of both.
JavaScript, Array
Returns every element that exists in any of the two arrays at least once, using a provided comparator function.