Spec-Zone.ru › ReactiveX

Макс

выполняет эмиссию элемента из источника Observable, имеющего максимальное значение
Открыть интерактивную диаграмму на rxmarbles.com

Оператор Max работает с Observable, испускающим числа (или элементы, которые могут быть оценены как числа), и испускает один элемент: элемент с наибольшим числом.

См. также

  • Мин
  • Введение в Rx: Мин, Макс, Сумма и Среднее значение
  • RxMarbles: max

Информация, специфичная для языка

RxGroovy max maxBy

В RxGroovy этот оператор не входит в ядро ReactiveX, но является частью отдельного rxjava-math модуля.

max

RxGroovy реализует оператор max. Он принимает необязательный компаратор, который будет использоваться вместо его значения по умолчанию для сравнения значений двух элементов. Если более одного элемента имеет одинаковое максимальное значение, max будет испускать последний такой элемент, испущенный источником Observable.

maxBy

Оператор maxBy похож на max, но вместо испускания элемента с максимальным значением, он испускает элемент с максимальным ключом, где этот ключ генерируется на основе функции, которую вы предоставляете maxBy

RxJava 1․x max maxBy

В RxJava этот оператор не входит в ядро ReactiveX, но является частью отдельного rxjava-math модуля.

max

RxJava реализует оператор max . Он принимает необязательный компаратор, который будет использоваться вместо его значения по умолчанию для сравнения значений двух элементов. Если более одного элемента имеет одинаковое максимальное значение, max будет испускать последний такой элемент, испущенный источником Observable.

maxBy

Оператор maxBy похож на max, но вместо испускания элемента с максимальным значением, он испускает элемент с максимальным ключом, где этот ключ генерируется на основе функции, которую вы предоставляете maxBy

RxJS max maxBy

max

RxJS реализует оператор max. Он принимает необязательную функцию сравнения, которую будет использовать вместо своей функции по умолчанию для сравнения значений двух элементов.

Пример кода

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

Оператор 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

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!

© ReactiveX contributors
Licensed under the Apache License 2.0.
http://reactivex.io/documentation/operators/max.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API