基于相同的属性合并对象列表中的值

consolidating values in a list of objects based on an attribute which is the same(基于相同的属性合并对象列表中的值)

本文介绍了基于相同的属性合并对象列表中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有一点背景知识,这来自于我对其使用的一个已提交的表单 我有一个类似这样的对象列表。
[
  {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")};
});

这篇关于基于相同的属性合并对象列表中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:基于相同的属性合并对象列表中的值

基础教程推荐