数値の配列に対してmin演算子を使用できるとわかりました。しかし、私はどのようにオブジェクトの配列に数値プロパティを使用してそれを使用しますか?Rxjsは配列プロパティのmin演算子を使用します
var source = Rx.Observable.fromArray([1,3,5,7,9,2,4,6,8]).min();
これはドキュメントの記述方法です。これにより、1
が出力されます。どうすればいいですか...
var source = Rx.Observable.fromArray([{a: 1, b:"first"},{a: 3, b:"second"},{a: 5, b:"third"}]).min();
内部プロパティ値でmin
を使用します。したがって、配列内の各オブジェクト内のa
の値を比較し、そのオブジェクトを放出します。
私は分かりましたが、ここで使用できるかわかりません。
私はまた、それが最小のプロパティ値ではなく、オブジェクトを放出したいと思います。
編集:
だから、私は角4アプリでNgrxを使用して観察可能store.select
にmin
演算子を使用しようとしています。いくつかのreasongのために、私は最初にサブスクリプションを作成し、次にレスポンスから別のオブザーバブルを作成してからminワークを使用しますが、サブスクリプションをスキップしてより低いコードのようなmin演算子を使用しようとすると失敗し、 ClientFacilitiesの完全な配列。
何が起こっているのか分かりませんか?彼らはどちらも同じものではありませんか?
これは動作します:
this.store.select(fromRoot.getClientFacilitiesArray).take(1).subscribe(res => {
Observable.from(res).min<ClientFacility>((a, b) => a.leaders_assigned - b.leaders_assigned)
.subscribe(res => console.log(res));
})
これは失敗します。
this.store.select(fromRoot.getClientFacilitiesArray).take(1)
.min<ClientFacility>((a, b) => a.leaders_assigned - b.leaders_assigned)
.subscribe(res => console.log(res));
*私は分が比較関数をとり理解し、それは*ここで使用することができた場合、私は知らない。なぜそれを使用することができませんでしたか?なぜあなたも試してみませんか?ドキュメントには、達成したいことを**正確に**実行している例もあります:http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-min –
私は持っています。比較には2つの値があります。彼らは何であろうか?それを理解できません。例を挙げていただけますか? – notANerdDev
私が言ったように、ドキュメントには例があります。この関数は、オブザーバブルから放出された2つのオブジェクトを取り、それらを比較します。 Array.sort()とまったく同じです。 –