【发布时间】:2017-03-01 13:58:30
【问题描述】:
我有一系列需要按品牌和型号分组的车辆,前提是“已选择”属性为真。生成的对象应包含制作模型和计数的属性。使用 lodash,我如何将车辆对象组织成所需的结果对象。我能够获取按 makeCode 分组的车辆对象,但我不确定如何按多个属性进行分组。
按使代码有效的方式分组
var vehicles = _.groupBy(response.vehicleTypes, function(item)
{
return item.makeCode; // how to group by model code as well
});
初始车辆
{
id: 1,
selected: true,
makeCode: "Make-A",
modelCode: "Model-a",
trimCode: "trim-a",
yearCode: "2012"
},
{
id: 2,
selected: false,
makeCode: "Make-A",
modelCode: "Model-a",
trimCode: "trim-a",
yearCode: "2013"
},
{
id: 3,
selected: true,
makeCode: "Make-B",
modelCode: "Model-c",
trimCode: "trim-a",
yearCode: "2014"
},
{
id: 25,
selected: true,
makeCode: "Make-C",
modelCode: "Model-b",
trimCode: "trim-b",
yearCode: "2012"
},
{
id: 26,
selected: true,
makeCode: "Make-C",
modelCode: "Model-b",
trimCode: "trim-a",
yearCode: "2013"
}
结果对象
{
Make-A: {
Model-a: {
count: 1
}
}
},
{
Make-B: {
Model-c: {
count: 1
}
}
},
{
Make-C: {
Model-b: {
count: 2
}
}
}
【问题讨论】:
-
Model-X 和 Model-Y 有 Make -T 时怎么样
标签: javascript lodash