私はこの候補配列を持っています。それらの一部は削除され、一部は削除されません。彼らは順序付けられていないので、私はそれらを削除されているかどうかによって姓で注文したいと思います。私は、配列だけを受け取り、要素がオブジェクトであれば、指定されたプロパティで配列を受け付けるパイプを使用しています。rxjsを使用してパーティションを分割し、変換してから新しい配列に圧縮します
これは難しいことではありません。私自身の自己利益のため
let added = this.candidates.filter(c => !c.removed);
let removed = this.candidates.filter(c => c.removed);
added = new OrderByPipe().transform(added, ['lastName']);
removed = new OrderByPipe().transform(removed, ['lastName']);
let orderedCandidates = added.concat(removed);
、私は.partition()
を通じて観測可能とパイプそれに私の候補配列を変換したいこれまでのところ私が管理している:
orderCandidates() {
let [added, removed] = Observable.from(this.candidates)
.partition(c => !c.removed);
added = added.toArray().map(a => new OrderByPipe().transfrom(a, ['-lastName']));
removed = removed.toArray().map(r => new OrderByPipe().transfrom(r, ['-lastName']));
}
次に、2つのソートされた配列を新しい配列にジップまたは連結したいとします。私は最近、rxjsのすべてが非常に合理化されたパイプラインを流通しているという私の心の中にこのイメージを持っていることを学びました。このイメージに従おうとするとアイデアがなくなりました。実際
Downvotes witho:のみ使用観測可能な演算子は、単にあなたのデータを変換するために
.map()
を使用したいと思います説明は有用ではありません。 – wolfhoundjesse