0
単純なRxJsクエリに悩まされています。オブザーバブルがオブジェクトの中にラップされている場合、オブジェクトをマージする方法を理解できないようです。このサンプルは、flatMapからObservableを直接返すだけで動作しますが、出力にも名前が必要です。どうすればこれを達成できますか?観測可能なプロパティを持つRxJs - FlatMapオブジェクト
var data = [
{
"name": "Test #1",
"users": [
{
"name": "John Doe",
"gender": "male"
},
{
"name": "John Doe",
"gender": "male"
},
{
"name": "Jane Doe",
"gender": "female"
}
]
},
{
"name": "Test #2",
"users": [
{
"name": "John Doe",
"gender": "male"
},
{
"name": "Jane Doe",
"gender": "female"
},
{
"name": "Jane Doe",
"gender": "female"
}
]
}
];
RxJs機能:
Observable.fromArray(data)
.flatMap(x => {
return Observable.of({
"name": x.name,
"count": Observable.fromArray(x.users)
.filter(x => x.gender == "male")
.count()
})
})
.toArray()
.subscribe(result => {
console.log(result);
});
望ましい結果:
result = [
{
"name": "Test #1",
"count": 2
},
{
"name": "Test #2",
"count": 1
}
];
私は-beta.2 5.0.0
基本データ構造をRxJSを使用しています
実際の結果:
result = [
{
"name": "Test #1",
"count": Observable
},
{
"name": "Test #2",
"count": Observable
}
];