基于相同的属性合并对象列表中的值
有一点背景知识,这来自于我对其使用的一个已提交的表单
我有一个类似这样的对象列表。
[
{name: 0, value: 'waffles'},
{name: 0, value: 'pancakes'},
{name: 0, value: 'french toast'},
{name: 1, value: 'pancakes'}
]
我想将具有相同名称属性的所有内容放在一起。例如,
[
{name: 0, value: ['waffles', 'pancakes', 'french toast']},
{name: 1, value: ['pancakes']}
]
如何做这件事?我尝试过的所有操作都只能为每个姓名键显示一个答案。
解决方案
应该可以:
var newlist = _.map(_.groupBy(oldlist, "name"), function(v, n) {
return {name: n, values: _.pluck(v, "value")};
});
相关文章