Boa noite Galera!
Estou com um probleminha que não consegui resolver de jeito nenhum, vamos direto ao ponto!
Tenho o seguinte Array de objeto.
[
{"values":{"nome1":5,"nome2":3},
{"values":{"nome1":2,"nome3":2},
{"values":{"nome2":1,"nome5":3},
{"values":{"nome3":1},
]
Preciso somar esses valores que estão com os nomes iguais e colocar dentro de um array assim:
[
{"values":{"nome1":7, "nome2":4, "nome3":3, "nome5": 3}
]
Se alguém puder me ajudar ficarei muito grata! Obrigada 
Você pode construir primeiro o objeto mais interno, que tem os totais de cada nome, e depois você coloca ele na estrutura maior. Algo assim:
var dados = [
{ "values" : { "nome1" : 5, "nome2" : 3 } },
{ "values" : { "nome1" : 2, "nome3" : 2 } },
{ "values" : { "nome2" : 1, "nome5" : 3 } },
{ "values" : { "nome3" : 1 } },
];
var result = {};
for (var d of dados) { // para cada objeto que tem "values"
// para cada "nome": valor dentro do "values"
for (var [nome, valor] of Object.entries(d.values)) {
if (! result[nome]) { // se ainda não tem o nome, usa o valor dele
result[nome] = valor;
} else { // se já tiver o nome, soma com o valor atual
result[nome] += valor;
}
}
}
// joga o objeto com os totais dentro do array
result = [ { "values": result } ];
1 curtida
Muito obrigada de coração 
