我有一个包含以下对象的数组:
public names: Array<any> = [
{name: 'John', car:'BMW', value1: 500, value2: 350},
{name: 'John', car:'AUDI', value1: 500, value2: 350},
{name: 'John', car:'AUDI', value1: 250, value2: 200},
{name: 'Paul', car: 'AUDI', value1: 290, value2: 200},
{name: 'John', car:'BMW', value1: 600, value2: 360},
{name: 'John', car:'BMW', value1: 500, value2: 350},
{name: 'Paul', car: 'AUDI', value1: 120, value2: 50},
{name: 'John', car:'BMW', value1: 100, value2: 100},
];
我想通过共同的name
和car
作为参考合并它们,并根据下面的结果对value1
和value2
进行求和。我试图使用reduce
,但我认为我在类型上是错误的。
预期结果:
[
{name: 'John', car:'BMW', value1: 1700, value2: 1160},
{name: 'John', car:'AUDI', value1: 750, value2: 550},
{name: 'Paul', car: 'AUDI', value1: 410, value2: 250}
]
我试着用reduce来做,但是我想我输入错了。
看看这个问题的答案如何从JavaScript对象数组中获得不同的值?
使用,您可以获得不同的对象列表。之后,遍历所有对象,并在两个关键属性适合的元素上增加值props