function stable

Applies a given project function to each value emitted by the source Observable, and emits the resulting values as an Observable.

map<T, R>(project: (value: T, index: number) => R, thisArg?: any): OperatorFunction<T, R>



The function to apply to each value emitted by the source Observable. The index parameter is the number i for the i-th emission that has happened since the subscription, starting from the number 0.


Optional. Default is undefined.

An optional argument to define what this is in the project function.


OperatorFunction<T, R>: An Observable that emits the values from the source Observable transformed by the given project function.


Like Array.prototype.map(), it passes each source value through a transformation function to get corresponding output values.

map marble diagram

Similar to the well known Array.prototype.map function, this operator applies a projection to each value and emits that projection in the output Observable.


Map every click to the clientX position of that click

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

const clicks = fromEvent(document, 'click');
const positions = clicks.pipe(map(ev => ev.clientX));
positions.subscribe(x => console.log(x));

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.