SO - 24277656
by Arun P Johny
JavaScript
var array = [{
value: 20,
color: 'F88C00'
}, {
value: 40,
color: 'D8605F'
}, {
value: 20,
color: '72C380'
}, {
value: 20,
color: '2C7282'
}, {
value: 20,
color: '72C380'
}];
var op = [],
map = {}, it, item;
for (var i = 0; i < array.length; i++) {
it = array[i];
item = map[it.color];
if (item) {
item.value += it.value;
} else {
map[it.color] = item = {
value: it.value,
color: it.color
};
op.push(item);
}
}
console.log(JSON.stringify(op))