-2

在 RXJS 从 observable 中提取和合并数据方面需要一些帮助。

[
    collection: {
        "id": "",
        "purpose": "",
        "balance": "",
        "creator": "",
        "dateCreated": "",
        "dateUpdated": "",
        "userId": "",
        "schedule": [
            {
                "id": "",
                "amount": "",
                "status": "",
                "type": "",
                "dateCreated": "",
                "dateUpdated": ""
            },
            {
                "id": "",
                "amount": "",
                "status": "",
                "type": "",
                "dateCreated": "",
                "dateUpdated": ""
            },
            .....
        ]
    }
]

如何提取每个Collection父对象中的所有计划对象并将它们组合在一起作为Schedules数组?我尝试将mergeMapmap一起使用。以及forkjoincombinedLatest。但是,我仍然想不出合适的方法。

4

1 回答 1

0

它只使用“地图”。将 rxjs 映射运算符视为映射数组。地图可以随心所欲

this.service.getData().pipe(map((res:any[])=>{
   const schedules=[]
   res.forEach(x=>{
     schedules=[...schedules,...x.shedule] //using spread operator

     //or use concat
     //schedules=schedules.concat(x.shedule)

     //or using splice
     //schedules.splice(schedules.length-1,0,x.shedule)

     //or what-ever
   }
   return schedules;
}))
于 2021-10-24T14:08:16.537 回答