有没有办法在使用嵌套的lodash find时从数组中的内部数组中检索元素?例如?
我有一组组,每个组都有子组。所有孩子都有独特的ID(甚至在群体之间)。 我需要抓住一个id为== value的孩子,现在我正在做以下事情:
首先我检索所需的组:
var group = _(groups).find(g => {return _(g.children).find(c => {return c.id == value})});
然后我找到了孩子:
var child = _(group.children).find(c => {return c.id == value});
有没有更有效和更优雅的方法来实现这一目标?
答案 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;
}
});