Returns every element that exists in any of the two arrays at least once, using a provided comparator function.
Set
with all values of a
and values in b
for which the comparator finds no matches in a
, using Array.prototype.findIndex()
.const unionWith = (a, b, comp) =>
Array.from(
new Set([...a, ...b.filter(x => a.findIndex(y => comp(x, y)) === -1)])
);
unionWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0, 3.9],
(a, b) => Math.round(a) === Math.round(b)
);
// [1, 1.2, 1.5, 3, 0, 3.9]
JavaScript, Array
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.
JavaScript, Array
Returns the elements that exist in both arrays, using a provided comparator function.
JavaScript, Array
Returns every element that exists in any of the two arrays at least once.