开发者社区> 问答> 正文

如何使用lodash从Array查找并返回对象?

我的对象:

[ { description: 'object1', id: 1 }, { description: 'object2', id: 2 } { description: 'object3', id: 3 } { description: 'object4', id: 4 } ] 在下面的函数中,我传递了描述以找到匹配的ID:

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
}

} 我正在尝试使用lodash的find方法:https ://lodash.com/docs#find

但是我的变量delete_id是不确定的。

对于检查此问题的人员的更新,Ramda是一个不错的库,可以完成lodash的相同操作,但是以更实用的编程方式:) http://ramdajs.com/0.21.0/docs/

问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 00:50:44 517 0
1 条回答
写回答
取消 提交回答
  • 传递给回调的参数是数组的元素之一。数组的元素是形式的对象{description: ..., id: ...}。

    var delete_id = .result(.find(savedViews, function(obj) { return obj.description === view; }), 'id'); 您链接到的文档的另一种选择(lodash v3):

    _.find(savedViews, 'description', view); Lodash v4:

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

    2020-02-07 00:50:59
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载