How to use lodash to find and return an object from Array?
lodash and ES5
var song = _.find(songs, {id:id});
lodash and ES6
let song = _.find(songs, {id});
docs at https://lodash.com/docs#find
The argument passed to the callback is one of the elements of the array. The elements of your array are objects of the form {description: ..., id: ...}
.
var delete_id = _.result(_.find(savedViews, function(obj) { return obj.description === view;}), 'id');
Yet another alternative from the docs you linked to (lodash v3):
_.find(savedViews, 'description', view);
Lodash v4:
_.find(savedViews, ['description', view]);
You can do this easily in vanilla JS:
Using 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);
Using filter
(original answer)
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);