javascript - Lodash 过滤以返回对象而不是长度为 1 的数组

标签 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];

最佳答案

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

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

关于javascript - Lodash 过滤以返回对象而不是长度为 1 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30449328/

相关文章:

javascript - 如何防止 Google Apps 脚本在处​​理自定义斜杠命令后将 HTML 返回到 slack?

javascript - 制作一个可以用一个参数执行多个回调的函数

arrays - MongoDB 获取数组中特定键的计数

php - 搜索功能输出为 'array'

c - 从 int 数组中删除值

javascript - javascript中的对象和关联数组有什么区别?

javascript - 如何循环滚动事件

javascript - 在无状态 React Native 函数中引用组件

java - 简单的 OOP/私有(private)变量查询 - Java

javascript - D3.js 循环对象数组