I am trying to put together an object where some of this information was covered.
const tests = [
{
id: 1,
name: 'taro',
designId: 1,
designName: 'design1'
},
{
id: 1,
name: 'taro',
designId: 2,
designName: 'design2'
},
{
id: 2,
name: 'Bob',
designId: 3,
designName: 'design3'
},
{
id: 2,
name: 'Bob',
designId: 4,
designName: 'design4'
},
];
I want to set the following expectations.
result = [
{
id: 1,
name: 'taro',
designs: [
{ designId: 1, designName: 'design1' },
{ designId: 2, designName: 'design2' }
]
},
{
id: 2,
name: 'Bob',
designs: [
{ designId: 3, designName: 'design3' },
{ designId: 4, designName: 'design4' }
]
}
]
I have tried using lodash groupby as something I have tried, but I am struggling because I can't get rid of the extra properties.
const result = _.chain(tests)
.groupBy('id')
.map((value, key) => ({ id: key, designs: value }))
.value();