RxJS – Creation Operator Count



count() 接收带有值的 Observable,将其转换为将提供一个单一值的 Observable。count 函数接收谓词函数作为可选参数。该函数的类型为布尔值,仅当值是真值时才将值添加到输出。

语法

以下是 Count 语法 −

count(predicate_func? : boolean): Observable

参数

predicate_func - (可选) 将筛选源 observable 中待计数的值并返回布尔值的函数。

返回值

返回值是一个包含给定数字计数的 observable。

让我们看看一些没有谓词和带有函数的 count 的示例。

示例 1

以下示例不使用谓词函数 −

import { of } from 'rxjs';
import { count } from 'rxjs/operators';

let all_nums = of(1, 7, 5, 10, 10, 20);
let final_val = all_nums.pipe(count());
final_val.subscribe(x => console.log("The count is "+x));

输出

The count is 6

示例 2

以下示例使用谓词函数 −

import { of } from 'rxjs';
import { count } from 'rxjs/operators';
let all_nums = of(1, 6, 5, 10, 9, 20, 40);
let final_val = all_nums.pipe(count(a => a % 2 === 0));
final_val.subscribe(x => console.log("The count is "+x));

我们再 count 中使用的函数仅提供偶数的计数。

输出

The count is 4
广告