JSFiddle - React, Tailwind, and code Playground
JavaScript
const list = [{
x: 'SomeName-1',
value: 2
},
{
x: 'SomeName-2',
value: 3
},
{
x: 'SomeName-1',
value: 5
},
{
x: 'SomeName-2',
value: 8
},
{
x: 'SomeName-1',
value: 1
},
{
x: 'SomeName-3',
value: 4
}];
const newList = list.reduce((items, item) => {
const {x, value} = item;
const itemIndex = items.findIndex(item => item.x === x)
if(itemIndex === -1){
items.push({
x, value
});
} else {
items[itemIndex].value += value;
}
return items;
}, []);
console.log(newList);