2017-09-27 2 views
-1

J'ai le code suivant qui regroupe et compte les éléments par type. Je veux faire un changement et faire groupByreturn objet unique. Par exemple, une fois que mergeMap a terminé son opération, je souhaite attacher un autre opérateur qui analysera le résultat suivant et retournera la valeur 'true' ou 'false' pour l'ensemble des résultats.angulaire rxjs groupby mergemap return valeur unique

{ 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)); 

appareil émet:

{ type: 'foo', total: 1 } 
{ type: 'bar', total: 2 } 

Répondre