[英]Retrieve element from inner array in array using lodash
例如,当使用嵌套lodash查找时,是否可以从数组的内部数组中检索元素?
我有一组数组,其中每个元素都有一组孩子。 所有孩子都有唯一的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});
有没有更有效,更优雅的方法来实现这一目标?
儿童分组,从结果中查找
_(groups)
.flatMap('children')
.find({id: value})
.value();
使用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;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.