isEqualWith source npm

_.isEqualWith(value, other, [customizer])

This method is like _.isEqual except that it accepts customizer which is invoked to compare values. If customizer returns undefined comparisons are handled by the method instead. The customizer is invoked with up to seven arguments:
(objValue, othValue [, index|key, object, other, stack]).

Arguments

  1. value (*)

    The value to compare.

  2. other (*)

    The other value to compare.

  3. [customizer] (Function)

    The function to customize comparisons.

Returns (boolean)

Returns true if the values are equivalent, else false.

Example

function isGreeting(value) {
  return /^h(?:i|ello)$/.test(value);
}

function customizer(objValue, othValue) {
  if (isGreeting(objValue) && isGreeting(othValue)) {
    return true;
  }
}

var array = ['hello', 'goodbye'];
var other = ['hi', 'goodbye'];

_.isEqualWith(array, other, customizer);
// => true