I have an array of objects and I´d like to transsform it in a other.
I can do it with a for loop, but I´d like to use reduce.
How could I do it using reduce?
const arr=[
{ medico: "med1", rateio: "rat1", convenio: "conv1", subtotal: 10 },
{ medico: "med2", rateio: "rat2", convenio: "conv2", subtotal: 10 },
{ medico: "med2", rateio: "rat2", convenio: "conv2", subtotal: 20 },
{ medico: "med1", rateio: "rat1", convenio: "conv3", subtotal: 20 },
{ medico: "med1", rateio: "rat1", convenio: "conv3", subtotal: 25 },
{ medico: "med2", rateio: "rat3", convenio: "conv4", subtotal: 15 },
{ medico: 'med2', rateio: 'rat4', convenio: 'conv3', subtotal: 10 },
];
I need the next result:
const result=[{
medico: "med1", [
{
rateio: "rat1",
grandtotals: [
{ convenio: "conv1", sum_subtotal: 10 },
{ convenio: "conv3", sum_subtotal: 45 }
]
},
]
},
{
medico: "med2", [
{
rateio: "rat2",
grandtotals: [
{ convenio: "conv2", sum_subtotal: 30 },
]
},
{
rateio: "rat3",
grandtotals: [
{ convenio: "conv4", sum_subtotal: 15 },
]
},
{
rateio: "rat4",
grandtotals: [
{ convenio: "conv3", sum_subtotal: 10 },
]
}
]
}]