Returns the difference between two arrays, after applying the provided function to each array element of both.
Set
by applying fn
to each element in b
.Array.prototype.map()
to apply fn
to each element in a
.Array.prototype.filter()
in combination with fn
on a
to only keep values not contained in b
, using Set.prototype.has()
.const differenceBy = (a, b, fn) => {
const s = new Set(b.map(fn));
return a.map(fn).filter(el => !s.has(el));
};
differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [1]
differenceBy([{ x: 2 }, { x: 1 }], [{ x: 1 }], v => v.x); // [2]
JavaScript, Array
Returns the symmetric 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, after applying the provided function to each array element of both.
JavaScript, Array
Returns the elements that exist in both arrays, after applying the provided function to each array element of both.