findIndex

Emite el índice del primer valor emitido por el Observable fuente que cumple una determinada condición

chevron-rightSignaturahashtag

Firma

findIndex<T>(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): OperatorFunction<T, number>

Parámetros

Retorna

OperatorFunction<T, number>: Un Observable del índice del primer elemento que cumpla la condición.

Descripción

Es como findarrow-up-right, pero emite el índice del valor encontrado, en lugar del propio valor.

Diagrama de canicas del operador findIndex

findIndex busca el primer elemento del Observable fuente que cumpla la condición especificada en el predicado y retorna su índice (de base cero.) Al contrario que firstarrow-up-right, el predicado es obligatorio en findIndex, y tampoco emite un error si no encuentra un valor válido.

Ejemplos

Emitir el índice del primer lenguaje de tipo Multiparadigma

StackBlitzarrow-up-right

import { findIndex } from "rxjs/operators";
import { from } from "rxjs";

const language$ = from([
  { name: "Java", type: "Orientado a objetos" },
  { name: "Ruby", type: "Multiparadigma" },
  { name: "Haskell", type: "Funcional" },
  { name: "Rust", type: "Multiparadigma" },
]);

language$
  .pipe(findIndex(({ type }) => type === "Multiparadigma"))
  .subscribe(console.log);
// Salida: 1

Emite el índice de la primera vez que se pulse la tecla x

StackBlitzarrow-up-right

Ejemplo de la documentación oficial

Emite el índice del primer click que ocurre en un elemento DIV

Recursos adicionales

Source codearrow-up-right

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

Last updated