RxJS - 数学运算符 Max

max() 方法将接受具有所有值的可观察对象并返回具有最大值的可观察对象。它接受比较函数作为参数,这是可选的。

语法

max(comparer_func?: number): Observable

参数

comparer_func −(可选)。该函数将从源可观察对象中过滤要考虑为最大值的值。如果未提供,则考虑默认函数。

返回值

返回值是一个具有最大值的可观察值。

示例 1

以下示例具有最大值 −

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

let all_nums = of(1, 6, 15, 10, 58, 20, 40);
let final_val = all_nums.pipe(max());
final_val.subscribe(x => console.log("最大值为 "+x));

输出

最大值为 58

示例 2

以下示例是使用比较函数的最大值 −

import { from } from 'rxjs';
import { max } from 'rxjs/operators';

let list1 = [1, 6, 15, 10, 58, 2, 40];
let final_val = from(list1).pipe(max((a,b)=>a-b));
final_val.subscribe(x => console.log("最大值为 "+x));

我们使用数组,并使用 max 函数中给出的函数比较数组内的值,返回数组中的最大值。

输出

最大值为 58