RxJS - 转换运算符 groupBy

在 groupBy 运算符中,输出根据特定条件分组,这些组项作为 GroupedObservable 发出。

语法

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

参数

keySelector_func − 一个函数,它为源可观察对象中的每个项目提供键。

返回值

返回值是一个可观察对象,它将值作为 GroupedObservable 发出。

示例

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

如果您看到输出,则它是一个可观察对象,其中项目被分组。我们提供的数据有 2 个组 QA 和 Development。输出显示相同的分组,如下所示 −

输出

groupBy Operator