let arr = [1,2,3,4,5];
let newArr = arr.map(val=>val*3);
map은 배열메소드로 배열원소마다 콜백함수를 실행한 결과로 만들어지는 새로운 배열을 반환한다.
of([1,2,3,4,5]).pipe(
map(heroes => heroes.find(hero=>hero>3))
).subscribe(val=>{
console.log(val);
});
소스가 동기식데이터면 소스데이터를 한번에 방출한다.
map오퍼레이터는 배열을 1번 방출하고 완료한다.
방출된 데이터가 배열이므로 배열메소드를 사용할 수 있는 것이다.
find메소드는 조건을 만족하는 첫번째 원소를 반환하므로 가공결과의 값은 4가 된다.
const clicks = fromEvent<PointerEvent>(document, 'click');
const positions = clicks.pipe(map(ev => ev.clientX));
positions.subscribe(x => console.log(x));
소스가 비동기데이터면 이벤트가 발생할때마다 데이터가 방출된다.