Aprenda Lodash: matchesProperty, verifique se um objeto contém um par chave-valor

Escreva sua própria versão da função _.matchesProperty do lodash usando JavaScript puro. matchesProperty retorna uma função que compara o objeto e o caminho fornecidos, que é um par chave-valor, e então determina se o objeto inclui o par.

Por exemplo, ao usar o método find comum do JavaScript, você o escreveria assim:

arrayOfCars.find(car => car.year === 2020)

Como a função matchesProperty retorna uma função, ela pode ser usada para substituir a função de callback escrita no método find. Usando matchesProperty, poderia ficar assim:

arrayOfCars.find(matchesProperty("year", 2020))

Esta é uma função auxiliar frequentemente usada por outras funções mais avançadas do lodash que querem verificar uma correspondência. À medida que escrevermos mais funções do lodash, precisaremos desta função auxiliar.

Isto é muito semelhante à função matches. A única diferença é a forma como os argumentos são passados: matches exige um objeto, enquanto matchesProperty exige duas strings que representam um par chave-valor.

Argumentos

  • path (Array or String): O par chave-valor do caminho que você está usando para verificar se ele está incluído no objeto.
  • returns: Uma nova função.

Exemplos

const objects = [
  { "a": 1, "b": 2, "c": 3 },
  { "a": 4, "b": 5, "c": 6 }
]
_.find(objects, _.matchesProperty("a", 4))
➞ [{ "a": 4, "b": 5, "c": 6 }]

Observações

  • Não tente importar o lodash; você está simplesmente escrevendo sua própria versão.
  • Toda esta série de desafios pode ser encontrada aqui.