Spec-Zone.ru › RxJS

findIndex

function stable operator

Выпускает только индекс первого значения, испущенного исходным Observable, удовлетворяющего некоторому условию.

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

Параметры

predicate (value: T, index: number, source: Observable<T>) => boolean

Функция, вызываемая с каждым элементом для проверки соответствия условию.

thisArg any

Необязательно. По умолчанию undefined.

Необязательный аргумент для определения значения this в функции predicate.

Возвращает

OperatorFunction<T, number>: Функция, возвращающая Observable, которая выпускает индекс первого элемента, соответствующего условию.

Описание

Это как find, но выпускает индекс найденного значения, а не само значение.

findIndex marble diagram

findIndex ищет первый элемент в исходном Observable, который соответствует заданному условию, воплощенному в predicate, и возвращает (нумерацию с нуля) индекс первого вхождения в исходном наборе. В отличие от first, predicate требуется в findIndex, и не выпускает ошибку, если не найдено соответствующего значения.

Пример

Выдать индекс первого клика, произошедшего на элементе DIV

import { fromEvent, findIndex } from 'rxjs';

const div = document.createElement('div');
div.style.cssText = 'width: 200px; height: 200px; background: #09c;';
document.body.appendChild(div);

const clicks = fromEvent(document, 'click');
const result = clicks.pipe(findIndex(ev => (<HTMLElement>ev.target).tagName === 'DIV'));
result.subscribe(x => console.log(x));

Перегрузки

findIndex(predicate: BooleanConstructor): OperatorFunction<T, T extends Falsy ? -1 : number>

Параметры

predicate BooleanConstructor

Возвращает

OperatorFunction<T, T extends Falsy ? -1 : number>

findIndex(predicate: BooleanConstructor, thisArg: any): OperatorFunction<T, T extends Falsy ? -1 : number>

Параметры

predicate BooleanConstructor
thisArg any

Возвращает

OperatorFunction<T, T extends Falsy ? -1 : number>

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

Параметры

predicate (this: A, value: T, index: number, source: Observable<T>) => boolean
thisArg A

Возвращает

OperatorFunction<T, number>

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

Параметры

predicate (value: T, index: number, source: Observable<T>) => boolean

Возвращает

OperatorFunction<T, number>

См. также

  • filter
  • find
  • first
  • take

© 2015–2022 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/findIndex

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API