RxJS - Grupo de operadores de transformación

En el operador groupBy, la salida se agrupa en función de una condición específica y estos elementos de grupo se emiten como GroupedObservable.

Sintaxis

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

Parámetros

keySelector_func - Una función que da la clave para cada elemento de la fuente observable.

Valor devuelto

El valor de retorno es un Observable que emite valores como GroupedObservables.

Ejemplo

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

Si ve la salida, es un observable en el que se agrupan los elementos. Los datos que hemos proporcionado tienen 2 grupos QA y Development. La salida muestra la agrupación de los mismos como se muestra a continuación:

Salida