max
Emite el elemento de mayor valor
Descripción
El operador max opera con Observables que emiten valores numéricos (o elementos que se puedan comparar mediante la función de comparación proporcionada), emitiendo un solo valor cuando el Observable fuente se completa: el elemento de mayor valor.

Ejemplos
Obtener el valor máximo de una serie de números
import { of } from "rxjs";
import { max } from "rxjs/operators";
const number$ = of(4, 7, 2, 10, 8, 9);
number$.pipe(max()).subscribe(console.log);
// Salida: 10Utilizar una función de comparación para obtener la cadena más larga
import { of } from "rxjs";
import { max } from "rxjs/operators";
const fruit$ = of("Cereza", "Arándano", "Fresa");
// Utilizar una función de comparación para obtener la cadena más larga
fruit$.pipe(max((a, b) => a.length - b.length)).subscribe(console.log);
// Salida: ArándanoUtilizar una función de comparación para comparar objetos anidados y obtener el de mayor valor
import { of } from "rxjs";
import { map, max } from "rxjs/operators";
const githubUser$ = of(
{ name: "zaldih", stats: { repositories: 23 } },
{ name: "NyaGarcia", stats: { repositories: 30 } },
{ name: "caballerog", stats: { repositories: 89 } },
{ name: "tonivj5", stats: { repositories: 51 } }
);
githubUser$
.pipe(
max((a, b) => a.stats.repositories - b.stats.repositories),
map(({ name }) => name)
)
.subscribe(console.log);
// Salida: caballerogEjemplos de la documentación oficial
Obtener el mayor valor de una serie de números
import { of } from "rxjs";
import { max } from "rxjs/operators";
of(5, 4, 7, 2, 8)
.pipe(max())
.subscribe((x) => console.log(x)); // -> 8Utilizar una función de comparación para obtener el elemento de mayor valor
import { of } from 'rxjs';
import { max } from 'rxjs/operators';
interface Person {
age: number,
name: string
}
of<Person>(
{age: 7, name: 'Foo'},
{age: 5, name: 'Bar'},
{age: 9, name: 'Beer'},
).pipe(
max<Person>((a: Person, b: Person) => a.age < b.age ? -1 : 1),
)
.subscribe((x: Person) => console.log(x.name)); // -> 'Beer'Recursos adicionales
Last updated