codecamp

RxJS min

Min 运算符在 Observable 上进行操作,该 Observable 发出数字(或可以与提供的功能进行比较的项目), 当源 Observable 完成时,它将发出一个项目:值最小的项目。

min<T>(comparer?: (x: T, y: T) => number): MonoTypeOperatorFunction<T>

参量

相比 可选的。 默认值为 undefined。 可选的比较器函数,它将使用它而不是默认值来比较 两个项目的价值。

returns

MonoTypeOperatorFunction<T>:发出一个具有最小值的项目的 Observable。

描述

min marble diagram

例子

获取一系列数字的最小值

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


of(5, 4, 7, 2, 8).pipe(
  min(),
)
.subscribe(x => console.log(x)); // -> 2

使用比较器功能获取最少的项目

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


interface Person {
  age: number,
  name: string
}
of<Person>(
  {age: 7, name: 'Foo'},
  {age: 5, name: 'Bar'},
  {age: 9, name: 'Beer'},
).pipe(
  min<Person>( (a: Person, b: Person) => a.age < b.age ? -1 : 1),
)
.subscribe((x: Person) => console.log(x.name)); // -> 'Bar'

也可以看看

RxJS mergeScan
RxJS multicast
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

RxJS operators

RxJS fetch

RxJS testing

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }