我有以下代码按类型分组和计数项目。我想进行更改并制作groupBy
return
单个对象。
例如在mergeMap完成其操作之后,我想附加另一个运算符,它将分析以下结果并返回单个值' true'或者' false'对于整个结果集。
{ type: 'foo', total: 1 }
{ type: 'bar', total: 2 }
const list = [{ type: 'foo' }, { type: 'bar' }, { type: 'bar' }];
Observable.from( list ).groupBy( x => x.type )
.mergeMap( list$ => { // each emission is a stream
/* A stream of "aggregated" data. */
const count$ = list$.count();
/* Format the result. */
return count$.map( count => ({ type: list$.key, count }));
}).subscribe(r => console.log(r));
这会发出:
{ type: 'foo', total: 1 }
{ type: 'bar', total: 2 }
答案 0 :(得分:1)
我猜你可以使用reduce()方法(https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/reduce.md)
“在可观察序列上应用累加器函数,在结果序列中将聚合结果作为单个元素返回”