findIndex
function
stable
Emits only the index of the first value emitted by the source Observable that meets some condition.
findIndex<T>(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): OperatorFunction<T, number>
Parameters
predicate | A function called with each item to test for condition matching. |
thisArg | Optional. Default is An optional argument to determine the value of |
Returns
OperatorFunction<T, number>
: A function that returns an Observable that emits the index of the first item that matches the condition.
Description
It's like find
, but emits the index of the found value, not the value itself.
findIndex
searches for the first item in the source Observable that matches the specified condition embodied by the predicate
, and returns the (zero-based) index of the first occurrence in the source. Unlike first
, the predicate
is required in findIndex
, and does not emit an error if a valid value is not found.
Example
Emit the index of first click that happens on a DIV element
import { fromEvent } from 'rxjs'; import { findIndex } from 'rxjs/operators'; const clicks = fromEvent(document, 'click'); const result = clicks.pipe(findIndex(ev => ev.target.tagName === 'DIV')); result.subscribe(x => console.log(x));
Overloads
findIndex(predicate: BooleanConstructor): OperatorFunction<T, T extends Falsy ? -1 : number>
Parameters
predicate | Type: |
Returns
OperatorFunction<T, T extends Falsy ? -1 : number>
findIndex(predicate: BooleanConstructor, thisArg: any): OperatorFunction<T, T extends Falsy ? -1 : number>
Deprecation Notes
Use a closure instead of a thisArg
. Signatures accepting a thisArg
will be removed in v8.
Parameters
predicate | Type: |
thisArg | Type: |
Returns
OperatorFunction<T, T extends Falsy ? -1 : number>
findIndex(predicate: (this: A, value: T, index: number, source: Observable<T>) => boolean, thisArg: A): OperatorFunction<T, number>
Deprecation Notes
Use a closure instead of a thisArg
. Signatures accepting a thisArg
will be removed in v8.
Parameters
predicate | Type: |
thisArg | Type: |
Returns
OperatorFunction<T, number>
findIndex(predicate: (value: T, index: number, source: Observable<T>) => boolean): OperatorFunction<T, number>
Parameters
predicate | Type: |
Returns
OperatorFunction<T, number>
See Also
© 2015–2021 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