30 seconds of code

  Back to Home

symmetricDifferenceWith

arrayfunctionintermediate

Returns the symmetric difference between two arrays, using a provided function as a comparator.

Use Array.prototype.filter() and Array.prototype.findIndex() to find the appropriate values.

const symmetricDifferenceWith = (arr, val, comp) => [
  ...arr.filter(a => val.findIndex(b => comp(a, b)) === -1),
  ...val.filter(a => arr.findIndex(b => comp(a, b)) === -1)
];