hsunny study blog

데이터 가공해서 출력하기 (pluck operator) 본문

programming/RxJS

데이터 가공해서 출력하기 (pluck operator)

헤써니 2019. 7. 12. 11:54

pluck

각 객체에 지정된 중첩 속성에 매핑합니다.

(말이 어려우니 예제로 보면)

 

pluck<T, R>(...properties: string[]): OperatorFunction<T, R>

 

가족 정보를 출력하는 family Observable이 있습니다.

family stream

이 중에서 role에 해당하는 값만 뽑아서 반환하고 싶다면, pluck를 이용해서 아래와 같이 코드를 짤 수 있습니다.

return result = family$.pipe(
            pluck('role')
          );

 

result를 구독(subscribe)해야 원하는 값을 받을 수 있습니다.

result.subscribe(val => console.log(`역할: ${val}`));

 

이렇게 하면 val로 'role'에 해당하는 값들이 걸러져서 출력됩니다.

역할: 엄마
역할: 아빠
역할: 남동생

 

한번 데이터를 가공해서 출력한다는 점에서 RxJS의 map과 비슷하다고 느낄 수 있습니다. 

중첩된 값에 대해 처리를 할 수 있냐 없냐가 map과 pluck의 차이점입니다.

 

참고한 사이트

https://rxjs-dev.firebaseapp.com/api/operators/pluck

https://stackoverflow.com/questions/46288106/rxjs-difference-between-pluck-and-map

 

'programming > RxJS' 카테고리의 다른 글

toPromise? firstValueFrom? lastValueFrom?  (0) 2023.02.04
forkjoin 마이그레이션  (0) 2021.07.09
fromEvent()  (0) 2019.07.20
RxJS를 이용하여 HTTP 통신 개선하기  (0) 2019.05.27