【问题标题】:Lodash filtering to return object rather than array with 1 lengthLodash 过滤以返回对象而不是长度为 1 的数组
【发布时间】:2015-05-26 04:12:11
【问题描述】:

我正在使用此代码过滤数组:

var filteredValues = _.filter(arrayOfObjects, function(obj) {
    return obj.id === id;
});

这是我试图获得第一个结果的方式:

console.log('id', filteredValues[0].id);

我知道如何使用链接,但我忘记了我可以使用哪个 lodash 函数,以便将找到的第一个对象分配给 filteredValues

我可以使用下面的代码,但它看起来太初级了。我想要一个完整的 lodash 解决方案。

var cleanedfilteredValues = {};
cleanedfilteredValues = filteredValues[0];

【问题讨论】:

标签: javascript arrays object lodash


【解决方案1】:

当您使用严格相等运算符来比较集合项属性值时,您可以使用将对象传递给find(),从而使您的代码更小:

var filteredValues = _.find(arrayOfObjects, { id: id });

【讨论】:

    【解决方案2】:

    在 Amadan 的帮助下,这是我现在使用的代码

    var filteredValues = _.find(arrayOfObjects, function(obj) {
        return obj.id === id;
    });
    

    谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 2016-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      相关资源
      最近更新 更多