我正在开发一个Angular 2项目,我正在尝试创建一个RxJS Observable'entityById'哈希/映射。在RxJS Github回购there's mentioning of the .toMap()
operator中。但是在我的npm安装rxjs
包中,找不到它。只有toArray()
和.toPromise()
可用。
可能已将其删除,因为.toMap()
转换应采用不同的编码方式,或者应使用更好的替代方法。
获得相同结果的RxJS(或Angular 2)最佳实践是什么(即某些键的对象映射/散列)?
答案 0 :(得分:1)
我认为reduce
适用于此
someObservable
.reduce(function(oldVal, newVal) {
oldVal[newVal.name] = newVal;
return oldVal;
}, {});
其中newVal.name
获取值的name
属性并将其用作地图的键并将整个新值指定为值(根据您的需要)