distinctUntilKeyChanged

Retorna un Observable que emite los elementos del Observable fuente cuya propiedad especificada sea distinta a la del elemento anterior

chevron-rightSignaturahashtag

Firma

distinctUntilKeyChanged<T, K extends keyof T>(key: K, compare?: (x: T[K], y: T[K]) => boolean): MonoTypeOperatorFunction<T>

Parámetros

Retorna

MonoTypeOperatorFunction<T>: Un Observable que emite elementos del Observable fuente si la propiedad especificada es distinta a la del elemento anterior.

Descripción

Si se proporciona una función de comparación, se utilizará para comprobar si cada elemento se debe emitir o no.

Si no se proporciona una función de comparación, se utiliza una verificación de igualdad.

Ejemplos

Emitir solo cuando la tecla pulsada sea distinta a la tecla pulsada anterior

StackBlitzarrow-up-right

import { distinctUntilKeyChanged, map } from "rxjs/operators";
import { fromEvent } from "rxjs";

const key$ = fromEvent<KeyboardEvent>(document, "keydown").pipe(
  distinctUntilKeyChanged("code"),
  map(({ code }) => code)
);

key$.subscribe(console.log);
// Salida: (Pulsar tecla y) (Pulsar tecla x) 'KeyX'

Emitir el objeto lenguaje si su propiedad name es distinta a la del objeto anterior

StackBlitzarrow-up-right

Utilizar una función de comparación para ignorar las diferencias de mayúsculas/minúsculas

StackBlitzarrow-up-right

Ejemplos de la documentación oficial

Un ejemplo comparando el campo name

Un ejemplo comparando las primeras letras de la propiedad name

Recursos adicionales

Source codearrow-up-right

Documentación oficial en inglésarrow-up-right

Last updated