map<T, R>(project: (value: T, index: number) => R, thisArg?: any): OperatorFunction<T, R>
project | La función que se aplica a cada valor emitido por el Observable fuente. El parámetro `index` es el número `i` para la `i`ésima emisión que haya ocurrido desde la suscripción, comenzando por el número 0. |
thisArg | Opcional. El valor por defecto es undefined .
Un argumento opcional para definir el valor del this en la función de proyección. |
OperatorFunction<T, R>
: Un Observable que emite los valores del Observable fuente transformados por la función de proyección.
Al igual que Array.prototype.map()
, aplica una función de transformación a cada uno de los valores emitidos por la fuente, para obtener los valores de salida correspondientes.
Al igual que la función Array.prototype.map
, este operador aplica una función de proyección a cada valor y emite dicha proyección en el Observable resultante.
Multiplicar cada número por 2
import { map } from "rxjs/operators";
import { fromEvent, range } from "rxjs";
const number$ = range(1, 5);
number$.pipe(map((number) => number * 2)).subscribe(console.log);
// Salida: 2, 4, 6, 8, 10
Emitir la propiedad code de cada objeto KeyboardEvent
import { map } from "rxjs/operators";
import { fromEvent } from "rxjs";
const key$ = fromEvent<KeyboardEvent>(document, "keydown");
key$.pipe(map(({ code }) => code)).subscribe(console.log);
// Salida: KeyX, KeyO...
Proyecta cada click a la posición clientX de dicho 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));
Documentación oficial en inglés