710 B
710 B
title, tags
| title | tags |
|---|---|
| matches | object,type,intermediate |
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, thenArray.prototype.every(),Object.hasOwnProperty()and strict comparison to determine if all keys exist in the first object and have the same values.
const matches = (obj, source) =>
Object.keys(source).every(key => obj.hasOwnProperty(key) && obj[key] === source[key]);
matches({ age: 25, hair: 'long', beard: true }, { hair: 'long', beard: true }); // true
matches({ hair: 'long', beard: true }, { age: 25, hair: 'long', beard: true }); // false