我有一个对象集合,我正在尝试从顶层获取所有称为“影响”的属性值,丢弃所有其他属性和子集合,按“影响”分组,然后理想地在值上加上影响一词
var topics = [{
var1 : "hi", var2 : "yo", children : [], impact : "high"
}, {
var1 : "hi", var2 : "yo", children : [], impact : "med"
}, {
var1 : "hi", var2 : "yo", children : [], impact : "low"
{
var1 : "hi", var2 : "yo", children : [], impact : "med"
},
}]
我想要
[{impact: "High"}, {impact: "Low"}, {impact: "Med"}]
我已经尝试了以下方法,但是没有用
var impacts = _.chain(topics).pluck("impact").groupBy("impact").value();
最佳答案
在sortedUniqBy()
中使用pick()
,map()
和Lodash
进行尝试。
var o = _.sortedUniqBy(product, function(e) {return e.impact;})
_.map(o, function(e) {return _.pick(e, 'impact')})