min<T>(comparer?: (x: T, y: T) => number): MonoTypeOperatorFunction<T>
| comparer | Opcional. El valor por defecto es undefined.
Función de comparación opcional, para comparar el valor de dos elementos.
|
MonoTypeOperatorFunction<T>: Un Observable que emite el elemento de menor valor.
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 menor valor.
Obtener el valor máximo de una serie de números
import { of } from "rxjs";
import { min } from "rxjs/operators";
const number$ = of(4, 7, 2, 10, 8, 9);
number$.pipe(min()).subscribe(console.log);
// Salida: 2
Utilizar una función de comparación para obtener la cadena más corta
import { of } from "rxjs";
import { min } from "rxjs/operators";
const fruit$ = of("Cereza", "Arándano", "Fresa");
// Utilizar una función de comparación para obtener la cadena más corta
fruit$.pipe(min((a, b) => a.length - b.length)).subscribe(console.log);
// Salida: Fresa
Utilizar una función de comparación para comparar objetos anidados y obtener el de menor valor
import { of } from "rxjs";
import { map, min } 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(
min((a, b) => a.stats.repositories - b.stats.repositories),
map(({ name }) => name)
)
.subscribe(console.log);
// Salida: zaldih
Obtener el mayor valor de una serie de números
import { of } from "rxjs";
import { min } from "rxjs/operators";
of(5, 4, 7, 2, 8)
.pipe(min())
.subscribe((x) => console.log(x)); // -> 2
Utilizar una función de comparación para obtener el elemento de menor valor
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'
Documentación oficial en inglés