2017-01-31 5 views
0

私は観測可能な配列内のプロパティの別個の値を取得しようとしています。Rxjsは配列内のプロパティ値の異なる値を取得します

let pt$ = Observable.of([{planTypeID : 1, description : 'test 1'}, 
           {planTypeID : 2, description : 'test 2'}]); 
    let planTypeIDs$ = pt$ 
     .flatMap(a => a) 
     .map(a => a.planTypeID).distinct().toArray(); 

rxjsでこれを行うのが正しい方法ですか、それとも良い方法がありますか?

答えて

0
  1. あなたはあなた.flatMap
  2. distrinctを惜しまなければならないこと、代わりに.of.fromを使用することができ、デフォルトでは、参照をチェックしますので、あなたが内容のために比較したい場合は、ハッシュのいくつかの種類を作成したり、カスタムを行う必要がありますcomparer - しかし、ここでは必要ないかもしれません。

let pt$ = Observable.from([{planTypeID : 1, description : 'test 1'}, 
          {planTypeID : 2, description : 'test 2'}]); 
let planTypeIDs$ = pt$ 
    .map(a => a.planTypeID) 
    .distinct() 
    .toArray(); 
+0

私は私のプロジェクトを持っているコードを模倣するObservable.Ofをしています。私が取り組んでいるプロジェクトでは、複数の観測可能な配列をマージして新しい配列を返すためにcombinelatestを使用するサービスがあります。 – Yousuf

+0

さて、ここでは見えないコードを最適化するのは難しいですが、あなたの現在の解決策はかなり大丈夫ですね。 – olsn

+0

ありがとうございました! – Yousuf

関連する問題