Javascript 使用lodash.groupBy。如何将对象分组到对象中
我使用lodash的uz.groupBy得出以下数据:Javascript 使用lodash.groupBy。如何将对象分组到对象中,javascript,angularjs,lodash,Javascript,Angularjs,Lodash,我使用lodash的uz.groupBy得出以下数据: { "Generic Drugs":[ { itemDes: "Dulcolax", itemGeneric: "Bisacodyl", price: '10' },
{
"Generic Drugs":[
{
itemDes: "Dulcolax",
itemGeneric: "Bisacodyl",
price: '10'
},
{
itemDes: "Celine",
itemGeneric: "Ascorbic Acid",
price: '10'
},
{
itemDes: "Vitamic C",
itemGeneric: "Ascorbic Acid",
price: '10'
}
],
"None-generic Drugs" : [
{
itemDes: "test 1",
itemGeneric: "",
price: '10'
},
{
itemDes: "test 2",
itemGeneric: "",
price: '10'
}
]
}
我想通过属性itemGeneric对Generic Drugs对象中的对象进行分组,以得到如下输出:
{
"Generic Drugs":[
"Ascorbic Acid" : [
{ itemDes: "Celine" },
{ itemDesc: "Vitamin C" }
],
"Bisacodyl" : [
{ itemDes: "Dolculax" }
]
"None-generic Drugs" : [
{
itemDes: "test 1",
itemGeneric: "",
price: '10'
},
{
itemDes: "test 2",
itemGeneric: "",
price: '10'
}
]
}
请有人帮我解决这个问题。谢谢你的回答。:) 对分组的数据使用\uuu0.mapValues()
,并按“itemGeneric”对每个值进行分组:
_.mapValues(grouped, function(group, key) {
return key === 'Generic Drugs' ? _.groupBy(group, 'itemGeneric') : group;
});
var分组={
“仿制药”:[{
项目名称:“Dulcolax”,
itemGeneric:“Bisacodyl”,
价格:'10'
}, {
“席琳”,
通用条款:“抗坏血酸”,
价格:'10'
}, {
“维生素C”,
通用条款:“抗坏血酸”,
价格:'10'
}],
“非仿制药”:[{
itemDes:“测试1”,
itemGeneric:“”,
价格:'10'
}, {
测试2,
itemGeneric:“”,
价格:'10'
}]
};
var result=\映射值(分组,函数(组,键){
return key==='Generic Drugs'?.groupBy(group,'itemGeneric'):group;
});
控制台日志(结果)代码>
在分组的数据上使用\uuu.mapValues()
,并按“itemGeneric”对每个值进行分组:
_.mapValues(grouped, function(group, key) {
return key === 'Generic Drugs' ? _.groupBy(group, 'itemGeneric') : group;
});
var分组={
“仿制药”:[{
项目名称:“Dulcolax”,
itemGeneric:“Bisacodyl”,
价格:'10'
}, {
“席琳”,
通用条款:“抗坏血酸”,
价格:'10'
}, {
“维生素C”,
通用条款:“抗坏血酸”,
价格:'10'
}],
“非仿制药”:[{
itemDes:“测试1”,
itemGeneric:“”,
价格:'10'
}, {
测试2,
itemGeneric:“”,
价格:'10'
}]
};
var result=\映射值(分组,函数(组,键){
return key==='Generic Drugs'?.groupBy(group,'itemGeneric'):group;
});
控制台日志(结果)代码>
用于生成问题中前一个对象的代码在哪里?检查输出数据,我没有从5月db获得的数据:仿制药-杜拉克斯-比沙可帝-----------------------------------------------仿制药-维生素C-抗坏血酸-----------------------------------------------仿制药-西林-抗坏血酸-------------------------------------------------------非仿制药|测试2 |--------------------------------------------非仿制药| Alaxan FR |使用此代码生成第一个对象u.groupBy(response.rs,'revDescription');用于生成问题中前一个对象的代码在哪里?检查输出数据,我没有从5月db获得的数据:仿制药-杜拉克斯-比沙可帝-----------------------------------------------仿制药-维生素C-抗坏血酸-----------------------------------------------仿制药-西林-抗坏血酸-------------------------------------------------------非仿制药|测试2 |--------------------------------------------非仿制药| Alaxan FR |使用此代码生成第一个对象u.groupBy(response.rs,'revDescription');不客气:)我对答案进行了一点编辑(if
到trinary),但逻辑保持不变。不客气:)我对答案进行了一点编辑(if
到trinary),但逻辑保持不变。