Max 操作符作用于发出数字(或可以评估为数字的项目)的 Observable,并发出单个项目:具有最大数字的项目。
待定
待定
在 RxGroovy 中,此操作符不在 ReactiveX 核心库中,而是 rxjava-math
模块的一部分。
RxGroovy 实现了一个 max
操作符。它接受一个可选的比较器,它将使用比较器而不是默认的比较器来比较两个项目的 value。如果多个项目具有相同的最大值,max
将发出源 Observable 发出的最后一个此类项目。
maxBy
操作符类似于 max
,但它不是发出具有最大值的项目,而是发出具有最大键的项目,其中该键是根据您提供给 maxBy
的函数生成的。
在 RxJava 中,此操作符不在 ReactiveX 核心库中,而是 rxjava-math
模块的一部分。
RxJava 实现了一个 max
操作符。它接受一个可选的比较器,它将使用比较器而不是默认的比较器来比较两个项目的 value。如果多个项目具有相同的最大值,max
将发出源 Observable 发出的最后一个此类项目。
maxBy
操作符类似于 max
,但它不是发出具有最大值的项目,而是发出具有最大键的项目,其中该键是根据您提供给 maxBy
的函数生成的。
RxJS 实现 max
操作符。它接受一个可选的比较器函数,它将使用比较器函数而不是默认的比较器函数来比较两个项目的 value。
var source = Rx.Observable.fromArray([1,3,5,7,9,2,4,6,8]).max(); var subscription = source.subscribe( function (x) { console.log('Next: ' + x); }, function (err) { console.log('Error: ' + err); }, function () { console.log('Completed'); } );
Next: 9 Completed
maxBy
操作符类似于 max
,但它不是发出具有最大值的项目,而是发出具有最大键的项目,其中该键是根据您提供给 maxBy
的函数生成的。maxBy
还接受一个可选的第二个参数:一个比较器函数,它将使用该函数而不是默认的函数来比较两个项目的键。
maxBy
发出一份列表。如果多个项目具有相同的最大键值,每个此类项目都将包含在列表中。
var source = Rx.Observable.fromArray([1,3,5,7,9,2,4,6,8,9]) .maxBy( 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: 9,9 Completed
max
和 maxBy
在以下发行版中找到
rx.all.js
rx.all.compat.js
rx.aggregates.js
它们需要以下内容之一
rx.js
rx.compat.js
rx.lite.js
rx.lite.compat.js
RxPHP 将此操作符实现为 max
。
根据指定的比较器返回 Observable 序列中的最大值。
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/max/max.php /* Without comparer */ $source = \Rx\Observable::fromArray([1, 3, 5, 7, 9, 2, 4, 6, 8]) ->max(); $subscription = $source->subscribe($createStdoutObserver());
Next value: 9 Complete!
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/max/max-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]) ->max($comparer); $subscription = $source->subscribe($createStdoutObserver());
Next value: 9 Complete!
待定