[javascript] RxJS에서 데이터 변환을 위해 사용되는 연산자 목록은?
아래는 RxJS에서 데이터 변환을 위해 주로 사용되는 몇 가지 연산자 목록입니다:
map
: 옵저버블이 방출하는 값에 함수를 적용하여 새로운 값을 방출합니다.const source = of(1, 2, 3); const example = source.pipe(map(value => value * 2)); // 출력: 2, 4, 6 example.subscribe(console.log);
filter
: 조건을 만족하는 요소만 방출합니다.const source = of(1, 2, 3, 4, 5); const example = source.pipe(filter(value => value % 2 === 0)); // 출력: 2, 4 example.subscribe(console.log);
reduce
: 옵저버블이 방출하는 값들을 누적하여 단일 값을 방출합니다.const source = of(1, 2, 3); const example = source.pipe(reduce((acc, curr) => acc + curr, 0)); // 출력: 6 example.subscribe(console.log);
flatMap
: 옵저버블이 방출하는 값에 비동기 작업을 수행하고, 그 결과를 방출합니다.const source = of(1, 2, 3); const example = source.pipe(flatMap(value => from(fetchData(value)))); example.subscribe(console.log);
switchMap
: 이전에 생성된 inner 옵저버블을 구독 취소하고, 새로운 inner 옵저버블을 구독합니다.const source = of(1, 2, 3); const example = source.pipe(switchMap(value => from(fetchData(value)))); example.subscribe(console.log);
이 외에도 RxJS는 다양한 데이터 변환 연산자를 제공하고 있습니다. 자세한 내용은 RxJS 공식 문서를 참조해 주세요.