从可观察数组映射到不同的字符串数组

时间:2017-12-18 21:36:25

标签: typescript rxjs

我试图从可观察的一系列录音中检索一个独特的发言人列表。

我有一个记录数据的json,主题和发言者以及其他数据。用户需要根据特定发言者过滤此列表。

recordings$: Observable<Recording[]>;

this.recordings$ = this.recordingService.getRecordings();

然而,要检索我想要的发音者列表:

this.speakers = this.recordings$.map((recording: Recordings) => recording.speaker).disinct();

问题是Observable是一个Observable of Recording数组。所以我不能简单地循环录制并将其映射到扬声器。

如何从我的Observable中获得一份独特的发言人名单?

谢谢!

1 个答案:

答案 0 :(得分:3)

您需要将一组录音转换为一组扬声器,不包含重复内容。所以你需要在数组上进行拖曳工作,而不是在observables上:

{{1}}
  1. 将录音数组转换为扬声器阵列
  2. 将一组扬声器转换为不同扬声器阵列,方法是将它们存储在Set中并将Set转换为数组
  3. 将可观察的录音数组转换为不同说话者阵列的观察点。