JSFiddle - React, Tailwind, and code Playground
by HemalathaThanigaivel
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
JavaScript
var obj1 = [
{ 'name': 'P1', 'n': 250, 'value': 150 },
{ 'name': 'P2', 'n': 142, 'value': 200 },
{ 'name': 'P3', 'n': 132, 'value': 450 }
];
var obj2 = [
{ 'name': 'P1', 'n': 150, 'value': 550 },
{ 'name': 'P2', 'n': 142, 'value': 200 },
{ 'name': 'P3', 'n': 132, 'value': 450 }
];
var obj = obj1.concat(obj2)
console.log(obj)
var holder = {};
obj.forEach(function (d) {
if(holder.hasOwnProperty(d.name) && holder[d.name].hasOwnProperty(d.n)) {
holder[d.name][d.n] = holder[d.name][d.n] + d.value;
} else {
var temp = {};
temp[d.n] = d.value;
holder[d.name] = temp;
}
});
console.log(holder);
var obj2 = [];
for(var prop in holder) {
for (var n in holder[prop]){
obj2.push({name: prop, n: parseInt(n), value: holder[prop][n]});
}
}
console.log(obj2);