How to use the matches function from lodash

Find comprehensive JavaScript lodash.matches code examples handpicked from public code repositorys.

lodash.matches is a function in the Lodash library that creates a function that matches properties of an object with corresponding values.

251
252
253
254
255
256
257
258
259
260
module.exports.mapArgs             = _.mapArgs;
module.exports.mapArgsWith         = _.mapArgsWith;
module.exports.mapKeys             = _.mapKeys;
module.exports.mapValues           = _.mapValues;
module.exports.mapcat              = _.mapcat;
module.exports.matches             = _.matches;
module.exports.matchesProperty     = _.matchesProperty;
module.exports.max                 = _.max;
module.exports.maxBy               = _.maxBy;
module.exports.mean                = _.mean;
fork icon19
star icon122
watch icon0

+ 92 other calls in file

908
909
910
911
912
913
914
915
916
917
918
919
920
console.log(identity); // => 1


const iteratee = _.iteratee({ 'a': 1 });
console.log(iteratee); // => [Function: matches]


const matches = _.matches({ 'a': 1, 'b': 2 });
console.log(matches({ 'a': 1, 'b': 2, 'c': 3 })); // => true


const matchesProperty = _.matchesProperty('a', 1);
console.log(matchesProperty({ 'a': 1, 'b': 2 })); // => true
fork icon0
star icon4
watch icon0

+ 15 other calls in file

How does lodash.matches work?

lodash.matches is a function that creates a predicate function to check if an object contains a set of key-value pairs. It returns a function that takes an object as an argument and returns true if the object contains all the specified key-value pairs, false otherwise. The function performs a shallow comparison of the values of the object's properties.

8
9
10
11
12
13
14
15
16
17

logs (filters) {
  let logs = _.flatten(this.invokeMap('get', 'logs'))

  if (filters) {
    const matchesFilters = _.matches(filters)

    logs = _.filter(logs, (log) => {
      return matchesFilters(log.get())
    })
fork icon0
star icon0
watch icon0

Ai Example

1
2
3
4
5
6
7
8
9
10
11
12
13
const users = [
  { name: "John", age: 20 },
  { name: "Jane", age: 25 },
  { name: "Bob", age: 30 },
];

// Create a function that matches users with a name starting with 'J'
const matcher = _.matches({ name: /^J/ });

// Use the matcher function to filter the array
const filteredUsers = _.filter(users, matcher);

console.log(filteredUsers); // Output: [{ name: 'John', age: 20 }, { name: 'Jane', age: 25 }]

In this example, we use lodash.matches to create a matcher function that matches objects with a name property that starts with the letter 'J'. We then use this matcher function to filter an array of user objects, returning only the objects that match the specified criteria.

Other functions in lodash

Sorted by popularity

function icon

lodash.get is the most popular function in lodash (7670 examples)