I have an array of data. I need to find corresponding objects by code field and merge them. How can these be done?
const data = [
{
id: 'K1',
code: 'KBP',
zone: 'zone-k1'
},
{
id: 'K2',
code: 'KBP',
zone: 'zone-k2'
},
{
id: 'H',
code: 'HCL',
zone: 'zone-h'
}
]
const expected = [
{
id: ['K1', 'K2'],
code: 'KBP',
zone: ['zone-k1', 'zone-k2']
},
{
id: 'H',
code: 'HCL',
zone: 'zone-h'
}
]
I've tried using lodash uniqBy and groupBy, but no success. I assume it should be done via reduce:
const res = () => {
const similar = data.reduce((item, acc) => {
return item.id === acc.id;
})
}