RxJS映射运算符仅用于(x => x)错误的运算符吗?

时间:2018-08-23 17:05:01

标签: angular rxjs reactive-programming rxjs6

因此,在Vanilla JS中,我对map运算符的理解是,它遍历数组中的每个项目并对该项目起作用。所以,如果我有一个数组:

 [ {...}, {...}, {...} ]

然后,.map将遍历此数组中的每个对象,并在您位于其中时公开该对象的属性。

在RxJS中,我最常看到的是:map(x=>x).map(...),因为似乎RxJS映射运算符实际上并没有遍历数组中的每个对象。我看到,最简单的方法是将可观察对象的内部暴露出来,以便可以在其上完成其他工作。

所以我有两个问题:

  1. 是否有更多用于map(x => x)的语义运算符?
  2. 为什么RxJS的地图与Javascript的地图不同?

1 个答案:

答案 0 :(得分:3)

数组是内存中的列表。

可观察流是一段时间内的列表。

由于它们本质上都是列表,因此它们具有非常相似的方法是有意义的。实际上,大多数数组方法都存在于流中。

请参阅文档以说明这一点:

https://angular.io/guide/comparing-observables#observables-compared-to-arrays

是的,流上的映射与数组上的映射几乎相同。