RxJS - Transformation Operator groupBy

Nell'operatore groupBy, l'output viene raggruppato in base a una condizione specifica e questi elementi del gruppo vengono emessi come GroupedObservable.

Sintassi

groupBy(keySelector_func: (value: T) => K):GroupedObservables

Parametri

keySelector_func - Una funzione che fornisce la chiave per ogni elemento dalla fonte osservabile.

Valore di ritorno

Il valore restituito è un Observable che emette valori come GroupedObservables.

Esempio

import { of , from} from 'rxjs';
import { groupBy } from 'rxjs/operators';

const data = [
   {groupId: "QA", value: 1},
   {groupId: "Development", value: 3},
   {groupId: "QA", value: 5},
   {groupId: "Development", value: 6},
   {groupId: "QA", value: 2},
];

from(data).pipe(
   groupBy(item => item.groupId)
)
.subscribe(x => console.log(x));

Se vedi l'output, è un osservabile in cui gli elementi sono raggruppati. I dati che abbiamo fornito hanno 2 gruppi QA e Sviluppo. L'output mostra il raggruppamento degli stessi come mostrato di seguito -

Produzione