Lodash过滤返回对象而不是具有1个长度的数组

时间:2015-05-26 04:12:11

标签: javascript arrays object lodash

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

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

以下是我试图获得第一个结果的方法:

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

谢谢!