Đối tượng của tôi:
[
{
description: 'object1', id: 1
},
{
description: 'object2', id: 2
}
{
description: 'object3', id: 3
}
{
description: 'object4', id: 4
}
]
Trong chức năng của tôi dưới đây, tôi chuyển qua phần mô tả để tìm ID phù hợp:
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
}
}
Tôi đang cố gắng sử dụng phương thức tìm của lodash: https://lodash.com/docs#find
Tuy nhiên, biến của tôi delete_id
không được xác định.
Cập nhật cho những người kiểm tra câu hỏi này, Ramda là một thư viện đẹp để thực hiện điều tương tự, nhưng theo cách lập trình nhiều chức năng hơn :) http://ramdajs.com/0.21.0/docs/
_.find
sẽ chỉ chuyển một trong các thuộc tính cho cuộc gọi lại. Một đơn giảnconsole.log(description)
trong cuộc gọi lại có thể đã nói với bạn rằng.