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);