map
and select
are aliases.
They produce an observable sequence emitting one element every time the source observable emits an element.
If selector
is not a function, its value is emitted for each source element.
If selector
is a function, the emitted element is the result of running selector
on the source element, and can possibly use its position.
const md = Rx.Observable.fromEvent(document, 'mousedown').map(true);
// `md` will emit `true` whenever the mouse is pressed
const mu = Rx.Observable.fromEvent(document, 'mouseup').map(false);
// `mu` will emit `false` whenever the mouse is depressed
const source = Rx.Observable.range(1, 3)
.map(x => x * x);
const subscription = source.subscribe(
x => console.log(`Next: ${x}`),
err => console.log(`Error: ${err}`),
() => console.log(`Completed`)
);
// => Next: 1
// => Next: 4
// => Next: 9
// => Completed
const source = Rx.Observable.range(1, 3)
.map((x, idx, obs) => `Element ${x} was at position ${idx}`);
const subscription = source.subscribe(
x => console.log(`Next: ${x}`),
err => console.log(`Error: ${err}`),
() => console.log(`Completed`)
);
// => Next: Element 1 was at position 0
// => Next: Element 2 was at position 1
// => Next: Element 3 was at position 2
// => Completed
Parameter, Type | Details |
---|---|
selector , Function or Object | Transform function to apply to each source element or an element to yield. If selector is a function, it is called with the following information: 1. the value of the element, 2. the index of the element, 3. the Observable object being subscribed. |
[thisArg] , Any | Object to use as this when executing the predicate. |