function stable

Emits the single value at the specified index in a sequence of emissions from the source Observable.

elementAt<T>(index: number, defaultValue?: T): MonoTypeOperatorFunction<T>



Is the number i for the i-th source emission that has happened since the subscription, starting from the number 0.


Optional. Default is undefined.

The default value returned for missing indices.


MonoTypeOperatorFunction<T>: An Observable that emits a single item, if it is found. Otherwise, will emit the default value if given. If not, then emits an error.


ArgumentOutOfRangeError When using elementAt(i), it delivers an ArgumentOutOrRangeError to the Observer's error callback if i < 0 or the Observable has completed before emitting the i-th next notification.


Emits only the i-th value, then completes.

elementAt marble diagram

elementAt returns an Observable that emits the item at the specified index in the source Observable, or a default value if that index is out of range and the default argument is provided. If the default argument is not given and the index is out of range, the output Observable will emit an ArgumentOutOfRangeError error.


Emit only the third click event

import { fromEvent } from 'rxjs';
import { elementAt } from 'rxjs/operators';

const clicks = fromEvent(document, 'click');
const result = clicks.pipe(elementAt(2));
result.subscribe(x => console.log(x));

// Results in:
// click 1 = nothing
// click 2 = nothing
// click 3 = MouseEvent object logged to console

See Also

© 2015–2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.