Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 710 Bytes

matches.md

File metadata and controls

18 lines (14 loc) · 710 Bytes
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, then Array.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