Javascript 在对象上使用groupBy的lodash
我想使用lodash的groupBy,我想实现以下目标。 我有这个代码,我想把它转换成这个Javascript 在对象上使用groupBy的lodash,javascript,lodash,Javascript,Lodash,我想使用lodash的groupBy,我想实现以下目标。 我有这个代码,我想把它转换成这个 [{ id: 1, name: 'campaign_application_view', description: 'Campaign Apply - View', category: 'Campaign' }, { id: 2, name: 'pixel_application_view', description: 'Pixel Ap
[{
id: 1,
name: 'campaign_application_view',
description: 'Campaign Apply - View',
category: 'Campaign'
},
{
id: 2,
name: 'pixel_application_view',
description: 'Pixel Apply - View',
category: 'Pixels'
}
];
对此
{
Campaign: {
selected: [],
items: [{
id: 1,
name: 'campaign_application_view',
description: 'Campaign Apply - View',
category: 'Campaign'
}
]
},
Pixels: {
selected: [],
items: [{
id: 2,
name: 'pixel_application_view',
description: 'Pixel Apply - View',
category: 'Pixels'
}
]
}
}
lodash
\u groupBy
只允许我像{Campaign:[],Pixels:[]}
那样对其进行分组,分组后使用\u.mapValues()
转换为所需的形式:
const arr=[{“id”:1,“name”:“campaign_application_view”,“description”:“campaign Apply-view”,“category”:“campaign”},{“id”:2,“name”:“pixel_application_view”,“description”:“pixel Apply-view”,“category”:“Pixels”};
const result=\映射值(
_.groupBy(arr,“类别”),
项目=>({
选定:[],
项目
})
);
控制台日志(结果)代码>
分组后,使用.mapValues()
转换为所需格式:
const arr=[{“id”:1,“name”:“campaign_application_view”,“description”:“campaign Apply-view”,“category”:“campaign”},{“id”:2,“name”:“pixel_application_view”,“description”:“pixel Apply-view”,“category”:“Pixels”};
const result=\映射值(
_.groupBy(arr,“类别”),
项目=>({
选定:[],
项目
})
);
控制台日志(结果)代码>
一旦你把它放在上面的形状中,就不难返回你想要的形状:{Campaign:{selected:[],items:grouped.Campaign},Pixels:{…}
一旦你把它放在上面的形状中,就不难返回你想要的形状:{Campaign:{selected:[],items:grouped.Campaign},Pixels:{…}