最小值

从源 Observable 中发出具有最小值的项目。

Min 运算符操作于发出数字(或可以作为数字进行评估的项目)的 Observable,并发出单个项目:具有最小数字的项目。

另请参阅

特定于语言的信息

待定

待定

在 RxGroovy 中,此运算符不在 ReactiveX 核心库中,而是属于独立的 rxjava-math 模块。

min

RxGroovy 实现了一个 min 运算符。它接受一个可选的比较器,该比较器将用于比较两个项目的数值,而不是使用默认比较器。如果有多个项目具有相同的最小值,min 将发出源 Observable 发出的最后一个此类项目。

minBy

minBy 运算符与 min 类似,但它不发出具有最小值的项目,而是发出具有最小的项目,其中该键是根据提供给 minBy 的函数生成的。

在 RxJava 中,此运算符不在 ReactiveX 核心库中,而是属于独立的 rxjava-math 模块。

min

RxJava 实现了一个 min 运算符。它接受一个可选的比较器,该比较器将用于比较两个项目的数值,而不是使用默认比较器。如果有多个项目具有相同的最小值,min 将发出源 Observable 发出的最后一个此类项目。

minBy

minBy 运算符与 min 类似,但它不发出具有最小值的项目,而是发出具有最小的项目,其中该键是根据提供给 minBy 的函数生成的。

min

RxJS 实现 min 运算符。它接受一个可选的比较器函数,该函数将用于比较两个项目的数值,而不是使用默认比较器。

示例代码

var source = Rx.Observable.fromArray([1,3,5,7,9,2,4,6,8]).min();

var subscription = source.subscribe(
  function (x) { console.log('Next: ' + x); },
  function (err) { console.log('Error: ' + err); },
  function () { console.log('Completed'); } );
Next: 1
Completed
minBy

minBy 运算符与 min 类似,但它不发出具有最小值的项目,而是发出具有最小的项目,其中该键是根据提供给 minBy 的函数生成的。minBy 还接受一个可选的第二个参数:一个比较器函数,它将用于比较两个项目的键,而不是使用默认比较器。

minBy 发出一个列表。如果有多个项目具有相同的最小键值,则每个此类项目都将在此列表中表示。

示例代码

var source = Rx.Observable.fromArray([1,3,5,7,9,2,4,6,8,1])
               .minBy( function (x) { return x; } );

var subscription = source.subscribe(
  function (x) { console.log('Next: ' + x); },
  function (err) { console.log('Error: ' + err); },
  function () { console.log('Completed'); } );
Next: 1,1
Completed

minminBy 在以下发行版中找到

  • rx.all.js
  • rx.all.compat.js
  • rx.aggregates.js

它们需要以下之一

  • rx.js
  • rx.compat.js
  • rx.lite.js
  • rx.lite.compat.js

RxPHP 实现此运算符为 min

根据指定的比较器返回 observable 序列中的最小值。

示例代码

//from https://github.com/ReactiveX/RxPHP/blob/master/demo/min/min.php

/* Without comparer */
$source = \Rx\Observable::fromArray([1, 3, 5, 7, 9, 2, 4, 6, 8])
    ->min();

$subscription = $source->subscribe($createStdoutObserver());

   
Next value: 1
Complete!
    
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/min/min-with-comparer.php

/* With a comparer */
$comparer = function ($x, $y) {
    if ($x > $y) {
        return 1;
    } elseif ($x < $y) {
        return -1;
    }
    return 0;
};

$source = \Rx\Observable::fromArray([1, 3, 5, 7, 9, 2, 4, 6, 8])
    ->min($comparer);

$subscription = $source->subscribe($createStdoutObserver());

   
Next value: 1
Complete!
    

待定