【发布时间】:2017-03-13 19:18:41
【问题描述】:
我有这个数据结构:
[{
id : 1,
name : "Item 1",
subItems : [{
id : 1,
name : "SubItem 1"
},{
id : 2,
name : "SubItem 2"
}
]
}, {
id : 2,
name : "Item 2",
subItems : [{
id : 3,
name : "SubItem 3"
}, {
id : 4,
name : "SubItem 4"
}
]
}]
我对 Web 服务进行以下调用以获取项目:
this.dataService.get("items")
返回的是Observable<Item[]>。我可以使用哪些 Observable 运算符来仅获取子项的串联列表?我想得到这样的结果:
[{
id : 1,
name : "SubItem 1"
}, {
id : 2,
name : "SubItem 2"
},
{
id : 3,
name : "SubItem 3"
}, {
id : 4,
name : "SubItem 4"
}]
我应该使用flatMap 或concat 之类的东西吗?
【问题讨论】:
-
结果(完整结果)是数组吗?从你写的方式看不清楚
-
你是否故意混合 subItems 和 searchProfiles?
-
...源应该是一个数组吗?
-
@Meir 这是一种类型,应该是它们的子项。结果应该是一个数组,是的。
-
是这样想的。见下面我的解决方案,你可以使用js数组函数来实现这个,而不需要进一步使用rxjs
标签: rxjs observable angular2-observables