Aprende Lodash: _.find, encuentra un valor en un array o un objeto
Según la documentación de lodash, _.find itera sobre los elementos de una colección y devuelve el primer elemento para el que el predicado devuelve un valor truthy. El predicado se invoca con tres argumentos: (value, index|key, collection).
Argumentos
- collection (Array u Object): La colección que se inspeccionará.
- [predicate=_.identity] función, objeto, array o cadena
- [fromIndex=0] (number): El índice desde el que se realizará la búsqueda.
Recrea _.find de lodash usando JavaScript puro.
La diferencia entre _.find de lodash y el método find de JavaScript es que el método de JavaScript solo se puede aplicar a arrays y solo puede recibir una función de callback como esta: array.find(d => d.isTheBest). El método find de lodash puede llamarse tanto con arrays como con objetos, y puede recibir una función, un objeto o un array, que utiliza para realizar la búsqueda.
De esta forma:
_.find(array, {isTheBest: true})
_.find(array, "isBest")
_.find(array, ["isBest", true])Ejemplos
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
- No intentes importar lodash; simplemente estás escribiendo tu propia versión.
- Puedes encontrar toda esta serie de desafíos aquí.