JavaScript merge the similar array of object in the group

Viewed 25

The current array value of data is in this form

var obj =
[
{ApplicationID: 1122, Manufacturer: 'HMD Global Oy', TotalVolume: 4258, Date: '14 Sep'},
{ApplicationID: 137, Manufacturer: 'Samsung Korea', TotalVolume: 320416, Date: '14 Sep'},
{ApplicationID: 137, Manufacturer: 'Samsung Korea', TotalVolume: 106628, Date: '13 Sep'},
{ApplicationID: 32, Manufacturer: 'HMD Global Oy', TotalVolume: 35506, Date: '14 Sep'},
{ApplicationID: 1122, Manufacturer: 'Samsung Korea', TotalVolume: 8444, Date: '14 Sep'},
{ApplicationID: 54, Manufacturer: 'Samsung Korea', TotalVolume: 34930, Date: '14 Sep'},
{ApplicationID: 1122, Manufacturer: 'HMD Global Oy', TotalVolume: 21290, Date: '13 Sep'},
{ApplicationID: 32, Manufacturer: 'Samsung Korea', TotalVolume: 3656902, Date: '13 Sep'},
{ApplicationID: 45, Manufacturer: 'Samsung Korea', TotalVolume: 16660, Date: '14 Sep'},
{ApplicationID: 1461, Manufacturer: 'Samsung Korea', TotalVolume: 47349988, Date: '14 Sep'},
{ApplicationID: 32, Manufacturer: 'HMD Global Oy', TotalVolume: 89519, Date: '13 Sep'},
{ApplicationID: 32, Manufacturer: 'Samsung Korea', TotalVolume: 5644027, Date: '14 Sep'}
]

Tried solution

const dategroups = obj.reduce((dategroups, item) => {

  const Date = (dategroups[item.Date] || []);

  Date.push(item);

  dategroups[item.Date] = Date;

  return dategroups;

}, []);

console.log("output ==>" dategroups);

But it's grouping individual object need to merge those individual objects

Required output be in this form of Javascript

output = [{Date: '13 Sep',ApplicationID1: 137, Manufacturer1: 'Samsung Korea', TotalVolume1: 106628, ApplicationID2: 32, Manufacturer2: 'HMD Global Oy', TotalVolume2: 89519, ApplicationID3: 1122, Manufacturer3: 'HMD Global Oy', TotalVolume3: 21290, and so on...},

 {Date: '14 Sep',ApplicationID1: 1122, Manufacturer1: 'HMD Global Oy', TotalVolume1: 4258, ApplicationID2: 137, Manufacturer2: 'Samsung Korea', TotalVolume2: 320416, ApplicationID3: 32, Manufacturer3: 'HMD Global Oy', TotalVolume3: 35506, and so on...}
]
0 Answers
Related