2017-02-03 6 views
0

次の配列を30以下のパーティションと30以上のパーティションに分割するにはどうすればよいですか?RxJS - オブジェクトのパーティション配列

私は、次のコードは、それを行うだろうと思ったが、単にアレイではなく、各要素を返すように表示されます。

let ageArr = [ 
    { name: 'Ken', age: 28 }, 
    { name: 'Mary', age: 70 }, 
    { name: 'Kate', age: 12 }, 
    { name: 'David', age: 37 }, 
    { name: 'Laura', age: 42 }, 
    { name: 'Ian', age: 19 }, 
    { name: 'Peter', age: 21 }, 
    { name: 'Isobel', age: 55 }, 
    { name: 'Rebecca', age: 15 } 
]; 

let [under, over] = Oversable.of(ageArr).partition(person => person.age < 30); 

under.subscribe(a => console.log(a)); // [ { name: 'Ken', age: 28 }, { name: 'Kate', age: 12 }, { name: 'Ian', age: 19 }, { name: 'Peter', age: 21 }, { name: 'Rebecca', age: 15 } ] 
over.subscribe(a => console.log(a)); // [ { name: 'Mary', age: 70 }, { name: 'David', age: 37 }, { name: 'Laura', age: 42 }, { name: 'Isobel', age: 55 } ] 

しかし、上述したように、これは動作しないようです。どのように私は何をしたいの達成するためのアイデア?

答えて

3

あなたがObservable.from

let ageArr = [ 
 
    { name: 'Ken', age: 28 }, 
 
    { name: 'Mary', age: 70 }, 
 
    { name: 'Kate', age: 12 }, 
 
    { name: 'David', age: 37 }, 
 
    { name: 'Laura', age: 42 }, 
 
    { name: 'Ian', age: 19 }, 
 
    { name: 'Peter', age: 21 }, 
 
    { name: 'Isobel', age: 55 }, 
 
    { name: 'Rebecca', age: 15 } 
 
]; 
 

 
let [under, over] = Rx.Observable.from(ageArr).partition(person => person.age < 30); 
 

 
under.subscribe(a => console.log("Under 30: " + a.name)); 
 
over.subscribe(a => console.log("Over 30: " + a.name));
<script src="https://unpkg.com/rxjs/bundles/Rx.min.js"></script>

+0

恐ろしい使用する必要があります - おかげでそんなに:) – keldar

+1

あなたはほとんど持っていたそれ;-) – olsn

+0

ハ - 非常に真...ただ一人のオペレータ離れました。 :) 再度、感謝します! – keldar

関連する問題