You need to sign in to do that
Don't have an account?

Dynamically merge two objects
I want to merge objects dynamically. I have tried it but I didn't get the expected result let result = [ { Month: 7, OLIQU: 10, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity1", ProductName: "Product1" }, { Month: 8, OLIQU: 30, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity1", ProductName: "Product1" }, { Month: 9, OLIQU: 40, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity1", ProductName: "Product1" }, { Month: 10, OLIQU: 50, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity1", ProductName: "Product1" }, { Month: 7, OLIQU: 20, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity2", ProductName: "Product1" }, { Month: 8, OLIQU: 40, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity2", ProductName: "Product1" }, { Month: 9, OLIQU: 60, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity2", ProductName: "Product1" }, { Month: 10, OLIQU: 80, Year: 2018, AccountName: "Account1", OpportunityName: "Opportunity2", ProductName: "Product1" }, ]; let reportData = []; // console.log(reportData); let resultArray = []; for(let key in result){ if(result.hasOwnProperty(key)){ let obj = {}; obj.MName=result[key].AccountName; obj.POpp=result[key].OpportunityName; obj.PName=result[key].ProductName; if(result[key].Month===7){ obj.July=result[key].OLIQU; } if(result[key].Month===8){ obj.Aug=result[key].OLIQU; } if(result[key].Month===9){ obj.Sep=result[key].OLIQU; } if(result[key].Month===10){ obj.Oct=result[key].OLIQU; } reportData.push(obj); let val = Object.assign.apply(Object, reportData.concat(obj)); // resultArray.push(Object.assign.apply(Object, reportData.concat(obj))); resultArray.push(val); } } console.log(resultArray); I got this output with 8 times Output: [ { Aug: 40 July: 20 MName: "Account1" Oct: 80 PName: "Product1" POpp: "Opportunity2" Sep: 60 }, { Aug: 40 July: 20 MName: "Account1" Oct: 80 PName: "Product1" POpp: "Opportunity2" Sep: 60 }, ] my expected output is [ { MName: "Account1", POpp: "Opportunity1", PName: "Product1", July:10, Aug:30, Sep:40, Oct:50 }, { MName: "Account1", POpp: "Opportunity2", PName: "Product1", July:20, Aug:40, Sep:60, Oct:80 }, ]