Typescript -如何合并具有相同名称和汽车的对象,并对关键字value1和value2的值进行求和



我有一个包含以下对象的数组:

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},
];

我想通过共同的namecar作为参考合并它们,并根据下面的结果对value1value2进行求和。我试图使用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

最新更新