Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

741
Vistas
¿Cómo usar lodash para encontrar y devolver un objeto de Array?

Mis objetos:

 [ { description: 'object1', id: 1 }, { description: 'object2', id: 2 } { description: 'object3', id: 3 } { description: 'object4', id: 4 } ]

En mi función a continuación, paso la descripción para encontrar el ID coincidente:

 function pluckSavedView(action, view) { console.log('action: ', action); console.log('pluckSavedView: ', view); // view = 'object1' var savedViews = retrieveSavedViews(); console.log('savedViews: ', savedViews); if (action === 'delete') { var delete_id = _.result(_.find(savedViews, function(description) { return description === view; }), 'id'); console.log('delete_id: ', delete_id); // should be '1', but is undefined } }

Estoy tratando de usar el método de búsqueda de lodash: https://lodash.com/docs#find

Sin embargo, mi variable delete_id sale sin definir.


Actualización para las personas que revisan esta pregunta, Ramda es una buena biblioteca para hacer lo mismo que hace lodash, pero de una manera de programación más funcional :) http://ramdajs.com/0.21.0/docs/

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

lodash y ES5

 var song = _.find(songs, {id:id});

lodash y ES6

 let song = _.find(songs, {id});

documentos en https://lodash.com/docs#find

over 4 years ago · Santiago Trujillo Denunciar

0

El argumento pasado a la devolución de llamada es uno de los elementos de la matriz. Los elementos de su matriz son objetos de la forma {description: ..., id: ...} .

 var delete_id = _.result(_.find(savedViews, function(obj) { return obj.description === view; }), 'id');

Otra alternativa más de los documentos a los que se vinculó (lodash v3):

 _.find(savedViews, 'description', view);

Lodash v4:

 _.find(savedViews, ['description', view]);
over 4 years ago · Santiago Trujillo Denunciar

0

Puedes hacer esto fácilmente en Vanilla JS:

Usando find :

 const savedViews = [{"description":"object1","id":1},{"description":"object2","id":2},{"description":"object3","id":3},{"description":"object4","id":4}]; const view = 'object2'; const delete_id = savedViews.find(obj => { return obj.description === view; }).id; console.log(delete_id);

Usando filter (respuesta original):

 const savedViews = [{"description":"object1","id":1},{"description":"object2","id":2},{"description":"object3","id":3},{"description":"object4","id":4}]; const view = 'object2'; const delete_id = savedViews.filter(function (el) { return el.description === view; })[0].id; console.log(delete_id);

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda