Files
30-seconds-of-code/snippets/matches.md
30secondsofcode 667b871621 Travis build: 1346
2018-01-23 18:18:38 +00:00

16 lines
656 B
Markdown

### matches
Compares two objects to determine if the first one contains equivalent property values to the second one.
Use `Object.keys(source)` to get all the keys of the second object, then `Array.every()`, `Object.hasOwnProperty()` and strict comparison to determine if all keys exist in the first object and have the same values.
```js
const matches = (obj, source) =>
Object.keys(source).every(key => obj.hasOwnProperty(key) && obj[key] === source[key]);
```
```js
matches({ age: 25, hair: 'long', beard: true }, { hair: 'long', beard: true }); // true
matches({ hair: 'long', beard: true }, { age: 25, hair: 'long', beard: true }); // false
```