RxJs-具有可观测属性的平面图对象
RxJs - FlatMap Object with Observable Property
我正在处理一个简单的RxJs查询,我似乎无法理解它。如果Observables被包裹在一个对象中,我似乎不知道如何合并它们。如果我只是直接从flatMap返回Observable,那么这个例子就可以正常工作,但我也需要在输出中输入名称。我怎样才能做到这一点?
我使用的是RxJS 5.0.0-beta.2
基本数据结构:
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
}
];
实际结果:
result = [
{
"name": "Test #1",
"count": Observable
},
{
"name": "Test #2",
"count": Observable
}
];
Observable.fromArray(data)
.flatMap(x => {
return Observable.of({
"name": x.name,
"count": x.users
.filter(x => x.gender == "male")
.length
});
})
.toArray()
.subscribe(result => {
console.log(result);
});
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 值对象在某个变量发生更改后发生更改
- 如何为json对象中的段发送array[]
- RxJs-具有可观测属性的平面图对象