使用lodash

时间:2016-11-21 08:22:48

标签: javascript lodash

有没有办法在使用嵌套的lodash find时从数组中的内部数组中检索元素?例如?

我有一组组,每个组都有子组。所有孩子都有独特的ID(甚至在群体之间)。 我需要抓住一个id为== value的孩子,现在我正在做以下事情:

  1. 首先我检索所需的组:

    var group = _(groups).find(g => {return _(g.children).find(c => {return c.id == value})});

  2. 然后我找到了孩子:

    var child = _(group.children).find(c => {return c.id == value});

  3. 有没有更有效和更优雅的方法来实现这一目标?

2 个答案:

答案 0 :(得分:4)

儿童平面团体并从结果中找到

arr.includes(searchElement)
arr.includes(searchElement, fromIndex)

答案 1 :(得分:1)

使用map()和filter()

还有另一种方法
var filteredArray = [];

_.map(group, function(groupValue) {
  var groupChildren = groupValue.children;
  var filteredChild = _.filter(groupChildren, function(child) {
    return child.id = value
  });
   if(filteredChild.length != 0) {
     filteredArray.push(filteredChild[0]);
     return groupValue;
   } else {
     return groupValue;
   }
});