Files
30-seconds-of-code/snippets/matches.md
Isabelle Viktoria Maciohsek 8bf67754ce Make expertise a field
2022-03-01 20:21:45 +02:00

821 B

title, tags, expertise, firstSeen, lastUpdated
title tags expertise firstSeen lastUpdated
Match object properties object intermediate 2018-01-23T20:17:32+02:00 2020-11-03T22:11:18+02:00

Compares two objects to determine if the first one contains equivalent property values to the second one.

  • Use Object.keys() to get all the keys of the second object.
  • Use Array.prototype.every(), Object.prototype.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