[javascript] RxJS에서 데이터 변환을 위해 사용되는 연산자 목록은?

아래는 RxJS에서 데이터 변환을 위해 주로 사용되는 몇 가지 연산자 목록입니다:

  1. map: 옵저버블이 방출하는 값에 함수를 적용하여 새로운 값을 방출합니다.
    const source = of(1, 2, 3);
    const example = source.pipe(map(value => value * 2));
    // 출력: 2, 4, 6
    example.subscribe(console.log);
    
  2. filter: 조건을 만족하는 요소만 방출합니다.
    const source = of(1, 2, 3, 4, 5);
    const example = source.pipe(filter(value => value % 2 === 0));
    // 출력: 2, 4
    example.subscribe(console.log);
    
  3. reduce: 옵저버블이 방출하는 값들을 누적하여 단일 값을 방출합니다.
    const source = of(1, 2, 3);
    const example = source.pipe(reduce((acc, curr) => acc + curr, 0));
    // 출력: 6
    example.subscribe(console.log);
    
  4. flatMap: 옵저버블이 방출하는 값에 비동기 작업을 수행하고, 그 결과를 방출합니다.
    const source = of(1, 2, 3);
    const example = source.pipe(flatMap(value => from(fetchData(value))));
    example.subscribe(console.log);
    
  5. switchMap: 이전에 생성된 inner 옵저버블을 구독 취소하고, 새로운 inner 옵저버블을 구독합니다.
    const source = of(1, 2, 3);
    const example = source.pipe(switchMap(value => from(fetchData(value))));
    example.subscribe(console.log);
    

이 외에도 RxJS는 다양한 데이터 변환 연산자를 제공하고 있습니다. 자세한 내용은 RxJS 공식 문서를 참조해 주세요.