Skip to main content

matches

_.matches(source) # Ⓢ [Ⓣ][1] Ⓝ

Creates a function that performs a partial deep comparison between a given



object and source, returning true if the given object has equivalent



property values, else false.





Note: The created function is equivalent to _.isMatch with source



partially applied.





Partial comparisons will match empty array and empty object source



values against any array or object value, respectively. See _.isEqual



for a list of supported value comparisons.





Note: Multiple values can be checked by combining several matchers



using _.overSome

Since​

3.0.0

Arguments​

  1. source (Object): The object of property values to match.

Returns​

(Function): Returns the new spec function.

Example​

var objects = [
{ 'a': 1, 'b': 2, 'c': 3 },
{ 'a': 4, 'b': 5, 'c': 6 }
];

_.filter(_.matches({ 'a': 4, 'c': 6 }), objects);
// => [{ 'a': 4, 'b': 5, 'c': 6 }]

// Checking for several possible values
_.filter(_.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]), objects);
// => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]