【发布时间】:2019-11-04 05:47:29
【问题描述】:
我有一个包含 4 个字段的数组,并且必须按两个属性分组并聚合(求和)分组数组中的一个字段。
尝试按多个分组无效。
以下代码我尝试将数组操作到预期列表,但不确定如何使用 RxJs 实现以下预期结果
from(this.dummyData)
.pipe(
groupBy(
function (e) {
return { category: e.category, manDate: e.manDate }; //is this valid at all?
},
function (e) { return e; }),
mergeMap(group => zip(of(group.key), group.pipe(toArray())))
)
.subscribe( function(result) {
console.log(result);
});
现有数组:
[{
category : "Printer",
manDate : "02/01/2019",
amount : 90
},
{
category : "Printer",
manDate : "02/01/2019",
amount : 100
},
{
category : "Printer",
manDate : "02/03/2019",
amount : 90
},
{
category : "Printer",
manDate : "02/04/2019",
amount : 90
},
{
category : "Scanner",
manDate : "08/21/2019",
amount : 8
},
{
category : "Scanner",
manDate : "08/21/2019",
amount : 25
},
{
category : "Scanner",
manDate : "08/21/2019",
amount : 20
},
{
category : "Scanner",
manDate : "08/21/2019",
amount : 10
}
];
预期:
[{
category : "Printer",
subCategory : "A",
manDate : "02/01/2019",
amount : 190
},{
category : "Printer",
subCategory : "A",
manDate : "02/03/2019",
amount : 90
},{
category : "Printer",
subCategory : "A",
manDate : "02/04/2019",
amount : 90
},{
category : "Scanner",
subCategory : "A",
manDate : "08/21/2019",
amount : 63
}]
我需要任何人的帮助来实现这个结果。
【问题讨论】:
标签: angular typescript rxjs