現在、RxJSでMap Observableをフィルタリングすることで苦労しています。 私がしようとするのは、それを購読する前にフィルタ関数でマップオブジェクトを減らすことです。RxJSマップOberservableをフィルタリングする方法
私はこのような件名をINIT:
public myObjects: ReplaySubject<Map<number, MyClass>> = new ReplaySubject<Map<number, MyClass>>(1);
そして、それは私がフィルタリングしようとする方法は次のとおりです。
public subscribeToIncomingObjects() {
this.myObjects.map((currentValue:Map<number, MyObject>) => Array.from(currentValue.values())).filter(
(con:myObject, index) => {
return someCondition;
}
);
}
詐欺はArray型ではなく、単一のインスタンスであるいくつかの理由。私は本当に助言に感謝します。
前の '.map()'呼び出しから 'Array.from(...)'を持つ配列を返しています。そのため、次の 'filter()'は元のオブジェクトではなくArrayを取得します。 – martin
こんにちは@マーティン、説明のおかげで。何らかの理由で、ここで説明したように、フィルタ関数内で配列の単一の値を取得することを期待していました:http://reactivex.io/documentation/operators/filter.html。 Rx.Observable.range(X、Y)は実際にArray Observableを生成しませんか? –
いいえ、これは 'Observable'インスタンスを作成し、その範囲内のすべての数字を別個のアイテムとして発行します。 –
martin