How to use the isMatch function from underscore

Find comprehensive JavaScript underscore.isMatch code examples handpicked from public code repositorys.

underscore.isMatch is a function that checks whether an object matches a given set of properties and values.

6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
// Returns a predicate for checking whether an object has a given set of
// `key:value` pairs.
_.matcher = _.matches = function(attrs) {
  attrs = _.extendOwn({}, attrs);
  return function(obj) {
    return _.isMatch(obj, attrs);
  };
};

// Run a function **n** times.
fork icon0
star icon2
watch icon0

How does underscore.isMatch work?

underscore.isMatch takes two arguments: an object and a pattern object. It returns true if the object contains all of the key/value pairs specified in the pattern object, otherwise it returns false. Here's how underscore.isMatch works in detail: First, it iterates over the keys in the pattern object. For each key, it checks if the key exists in the object. If the key exists, it checks if the value in the object for that key matches the value in the pattern object for that key using a strict equality check (===). If all keys in the pattern object are present in the object and all their values match, then underscore.isMatch returns true, otherwise it returns false.

Ai Example

1
2
3
4
5
6
7
8
9
10
11
12
13
const _ = require("underscore");

const obj = {
  name: "John",
  age: 30,
  city: "New York",
};

// Check if the object matches a pattern
const pattern = { name: "John", age: 30 };
const isMatch = _.isMatch(obj, pattern);

console.log(isMatch); // Output: true

In this example, obj is an object with name, age, and city properties. pattern is another object with name and age properties that we want to match against obj. We use underscore.isMatch to check if obj matches the pattern, which returns true in this case since obj has the same name and age properties as pattern.