RxJS - Rx.Observable.prototype.toMap运算符在哪里?

时间:2016-06-02 10:58:22

标签: angular rxjs

我正在开发一个Angular 2项目,我正在尝试创建一个RxJS Observable'entityById'哈希/映射。在RxJS Github回购there's mentioning of the .toMap() operator中。但是在我的npm安装rxjs包中,找不到它。只有toArray().toPromise()可用。

可能已将其删除,因为.toMap()转换应采用不同的编码方式,或者应使用更好的替代方法。

获得相同结果的RxJS(或Angular 2)最佳实践是什么(即某些键的对象映射/散列)?

1 个答案:

答案 0 :(得分:1)

我认为reduce适用于此

someObservable
.reduce(function(oldVal, newVal) {
  oldVal[newVal.name] = newVal;
  return oldVal;
}, {});

其中newVal.name获取值的name属性并将其用作地图的键并将整个新值指定为值(根据您的需要)