我需要根据字段“ day”将对象列表分组,该字段是一个字符串。
diaImputaciones: Map<String, Array<ImputacionData>>;
我将列表按字符串“ day”分组
_.chain(parte.imputacionesTarifaBase)
.groupBy("dia")
.map((imputaciones, dia) => ({ dia, imputaciones }))
.value();
错误:输入'{dia:string; imputaciones:ImputacionData []; } []'缺少“地图”类型的以下属性
我也尝试过这个
_.map(_.groupBy(parte.imputacionesTarifaBase, 'dia'), function (el, key) {
return {
key: key,
values: _.map(el, function (item) {
return [item];
})
};
});
错误:输入'{键:字符串;值:ImputacionData [] []; } []'缺少“地图”类型的以下属性
但是在任何情况下都不要让我将结果分配给我的地图。
如何通过“天”(字符串)字段将其分组,从而从阵列中创建地图。
答案 0 :(得分:0)
如果我正确理解,结果应该是键:值对的映射。如果是这样,请使用_.mapValues()
而不是_.map()
:
_.chain(parte.imputacionesTarifaBase)
.groupBy("dia")
.mapValues((imputaciones, dia) => ({ dia, imputaciones }))
.value();
如果您需要JS Map,则可以使用_.toPairs()
,并用新的Map包装表达式:
new Map(_.chain(parte.imputacionesTarifaBase)
.groupBy("dia")
.mapValues((imputaciones, dia) => ({ dia, imputaciones }))
.toPairs()
.value());