Given Object
The array of objects is given to us as follows, we have to convert it to the expected array of objects.
[
{
"tm_number": "9724084103",
"tm_name": "PRADIP BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe1 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
},
{
"tm_number": "9724084103",
"tm_name": "PRADIP duplicate",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe1 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
},
{
"tm_number": "9724084105",
"tm_name": "PRADIP BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
},
{
"tm_number": "972484103",
"tm_name": "SK BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe 2 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
},
{
"tm_number": "972484103",
"tm_name": "SK BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe 3 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
}
]
Expected Object Output
[
{
"9724084103": [
{
"tm_name": "PRADIP BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe1 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
},
{
"tm_name": "PRADIP duplicate",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe1 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
}
]
},
{
"9724084105": [
{
"tm_number": "9724084105",
"tm_name": "PRADIP BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
}
]
},
{
"972484103": [
{
"tm_name": "SK BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe 2 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
},
{
"tm_name": "SK BHAI",
"zsm_number": "9974252013",
"zsm_name": "Jay Ambe 3 Communicati",
"zbm_number": "1234567890",
"zbm_name": "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
"zone_name": "Surat",
"circle_name": "Gujarat",
"category": "Challenger"
}
]
}
]
NOTE:
keys will be dynamic so manage your program accordingly
Below is the approach I used, but not getting the expected output as above. Could you please efficient way of doing this?
const data = [
{
tm_number: "9724084103",
tm_name: "PRADIP BHAI",
zsm_number: "9974252013",
zsm_name: "Jay Ambe1 Communicati",
zbm_number: "1234567890",
zbm_name: "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
zone_name: "Surat",
circle_name: "Gujarat",
category: "Challenger",
},
{
tm_number: "9724084103",
tm_name: "PRADIP duplicate",
zsm_number: "9974252013",
zsm_name: "Jay Ambe1 Communicati",
zbm_number: "1234567890",
zbm_name: "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
zone_name: "Surat",
circle_name: "Gujarat",
category: "Challenger",
},
{
tm_number: "9724084105",
tm_name: "PRADIP BHAI",
zsm_number: "9974252013",
zsm_name: "Jay Ambe Communicati",
zbm_number: "1234567890",
zbm_name: "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
zone_name: "Surat",
circle_name: "Gujarat",
category: "Challenger",
},
{
tm_number: "972484103",
tm_name: "SK BHAI",
zsm_number: "9974252013",
zsm_name: "Jay Ambe 2 Communicati",
zbm_number: "1234567890",
zbm_name: "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
zone_name: "Surat",
circle_name: "Gujarat",
category: "Challenger",
},
{
tm_number: "972484103",
tm_name: "SK BHAI",
zsm_number: "9974252013",
zsm_name: "Jay Ambe 3 Communicati",
zbm_number: "1234567890",
zbm_name: "ARIF MALEK",
"ceo/sales_head/marketing_head_number": "9898049452",
zone_name: "Surat",
circle_name: "Gujarat",
category: "Challenger",
},
];
function groupId(data) {
let obj = {};
const mydata = data.map((item) => {
if (obj[item.tm_number]) {
obj[item.tm_number].push(item);
} else {
obj[item.tm_number] = [item];
}
return obj;
});
console.log(mydata);
}
groupId(data);