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 la 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
está saliendo indefinida.
Actualización para las personas que revisan esta pregunta, Ramda es una buena biblioteca para hacer lo mismo que lodash, pero en una forma de programación más funcional :) http://ramdajs.com/0.21.0/docs/
_.find
queda claro por qué crees que mágicamente pasaría solo una de las propiedades a la devolución de llamada. Un simpleconsole.log(description)
en la devolución de llamada podría haberle dicho eso.