Aprenda Lodash: _.find, encontre um valor em um array ou objeto
De acordo com a documentação do lodash, _.find itera pelos elementos de uma coleção e retorna o primeiro elemento para o qual o predicado retorna um valor truthy. O predicado é chamado com três argumentos: (value, index|key, collection).
Argumentos
- collection (Array ou Object): A coleção a ser inspecionada.
- [predicate=_.identity] função, objeto, array ou string
- [fromIndex=0] (number): O índice a partir do qual a busca será realizada.
Recrie o _.find do lodash usando JavaScript puro.
A diferença entre o _.find do lodash e o método find do JavaScript é que o método do JavaScript só pode ser aplicado a arrays e só pode receber uma função de callback, como esta: array.find(d => d.isTheBest). O método find do lodash pode ser chamado tanto com arrays quanto com objetos e pode receber uma função, um objeto ou um array, que ele usa para realizar a busca.
Assim:
_.find(array, {isTheBest: true})
_.find(array, "isBest")
_.find(array, ["isBest", true])Exemplos
var users = [
{ "user": "barney", "age": 36, "active": true },
{ "user": "fred", "age": 40, "active": false },
{ "user": "pebbles", "age": 1, "active": true }
]
find(users, function(o) { return o.age < 40; }) ➞ object for "barney"
find(users, { "age": 1, "active": true }) ➞ object for "pebbles"
find(users, ["active", false]) ➞ object for "fred"
find(users, "active") ➞ object for "barney"Notas
- 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.