Javascript 如何使用lodash 2;.find返回值,即使对数字进行迭代

Javascript 如何使用lodash 2;.find返回值,即使对数字进行迭代,javascript,arrays,underscore.js,lodash,Javascript,Arrays,Underscore.js,Lodash,所以我有这个函数: var res = _.find(table_campaign_boards().getAllPrimaryKeys(), (campaign_board_id,v) => { var recCampaignTimeline = table_campaign_boards().getRec(campaign_board_id); if (recCampaignTimeline.campaign_id == i_campai

所以我有这个函数:

var res = _.find(table_campaign_boards().getAllPrimaryKeys(), (campaign_board_id,v) => {
            var recCampaignTimeline = table_campaign_boards().getRec(campaign_board_id);
            if (recCampaignTimeline.campaign_id == i_campaign_id) {
                var board_id = recCampaignTimeline['board_id']
                return table_boards().getRec(board_id);
            }
        });
当找到匹配项时,我将返回索引,因为
table\u campaign\u boards()。getAllPrimaryKeys
返回一个数字列表。如何找到、找到并停止第一个值,并返回找到的对象而不是找到的索引。当然,我可以对循环和中断使用
,但更愿意使用lodash,因为我可以同时获得键/值

谢谢


Sean

为什么循环使用
主键
?getAllPrimaryKeys()是我从使用的库中获取的接口,用于获取所有索引,但如果它返回一个数字列表,则只能找到并返回一个数字。什么是
表\u活动\u板()
?为什么不循环它呢?正如@AlessandroMaglioccola所指出的,如果
table\u campaign\u boards()
返回一个Iterable,您可以简单地对其结果使用
find
,而不是使用
getAllPrimaryKeys()
。另外,请注意,
find()
使用args
(值、索引、集合)
调用其谓词——您使用上面的
k,campaign\u board\u id
意味着您将第一个参数视为键,第二个参数视为值,这是相反的。是的,我需要修复示例
k
args的顺序tx,但是,我必须在getAllPrimaryKeys外出时调用它,并在后台执行一些服务器调用和获取数据,因此问题仍然存在,无法让find返回值,因为它是返回数据的内部函数
table\u campaign\u boards()