Skip to content
On this page

Comment utiliser distinct sur RxJS ?

Vous pouvez utiliser la méthode distinct en appelant la méthode sur un observable et en lui passant une fonction de comparaison en tant que paramètre. La fonction de comparaison sera utilisée pour déterminer si deux valeurs sont différentes ou non.

Voici un exemple d'utilisation de la méthode distinct :

js
import { of, distinct } from 'rxjs';

const numbers$ = of(1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9);

numbers$.pipe(distinct((x, y) => x === y))
  .subscribe(x => console.log(x));

Dans cet exemple, l'observable numbers$ emit les nombres 1 à 9, avec deux occurrences de 5 et deux occurrences de 9. La méthode distinct est appelée sur cet observable et est fournie avec une fonction de comparaison qui vérifie si les valeurs sont égales (x === y). La fonction de comparaison retournera true si les valeurs sont différentes et false si elles sont égales.

Le résultat de cet exemple sera que l'observable numbers$ ne emit que les nombres 1, 2, 3, 4, 5, 6, 7, 8 et 9, sans les valeurs dupliquées.