Reducir lista
by academiax
JavaScript
let lista = [{
id: 1,
area: 10
},
{
id: 2,
area: 20
},
{
id: 3,
area: 10
},
{
id: 4,
area: 20
},
{
id: 1,
area: 100
},
{
id: 2,
area: 20
},
{
id: 3,
area: 40
},
{
id: 4,
area: 40
},
{
id: 5,
area: 40
},
{
id: 6,
area: 40
}
];
let resultado = {};
for (let item of lista) {
let {
id,
area
} = item;
if (id in resultado) {
resultado[id] += area;
} else {
resultado[id] = area;
}
}
lista = Object.keys(resultado).map(id => ({
id,
area: resultado[id]
}));
console.log(lista);