lodash - 通过嵌套数组中的匹配属性查找对象

标签 lodash

我没有看到 find 的方法当我的条件涉及嵌套数组时的对象。

var modules = [{
    name: 'Module1',
    submodules: [{
        name: 'Submodule1',
        id: 1
      }, {
        name: 'Submodule2',
        id: 2
      }
    ]
  }, {
    name: 'Module2',
    submodules: [{
        name: 'Submodule1',
        id: 3
      }, {
        name: 'Submodule2',
        id: 4
      }
    ]
  }
];

这不起作用,因为 submodules是一个数组,而不是一个对象。有没有任何速记可以使这项工作?我试图避免手动迭代数组。
_.where(modules, {submodules:{id:3}});

最佳答案

Lodash 允许您像这样过滤嵌套数据(包括数组):
_.filter(modules, { submodules: [ { id: 2 } ]});

关于lodash - 通过嵌套数组中的匹配属性查找对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30107463/

相关文章:

javascript - lodash 的对象顺序

javascript - 如何在 JavaScript 中将对象附加到一起

javascript - 随机唯一数字的大小数组

Javascript删除合并某些属性的对象列表中的重复项

javascript - 将整数数组与对象数组进行比较并返回属性

javascript - _.concat lodash vs Array.prototype.concat()

javascript - 使用reduce fnt代替map

javascript - es6中lodash的findIndex

javascript - Lodash groupby 多个条件

javascript - 按属性组合对象数组