小编Oma*_*hid的帖子

将可观察的嵌套对象映射到另一个对象

我正在尝试将 API 调用的响应映射到 Product 对象。我似乎找不到正确的方法。

响应的结构如下:

{
  "data": [
    {
      "id": 1,
      "name": "keyboard",
      "details": {
        "parent": 1,
        "price": 50,
        "other": "info"
      }
    },
    {
      "id": 2,
      "name": "mouse",
      "details": {
        "parent": 2,
        "other": "info",
        "price": 20
      }
    }
  ],
  "total-records": 2,
  "more": "something"
}
Run Code Online (Sandbox Code Playgroud)

无法保证回复详细信息的顺序。(详细说明价格)。我试图将上面的对象映射到一个仅包含以下属性的新对象:

{
    "id": 1,
    "name": "keyboard",
    "price": 50
},
{
    "id": 2,
    "name": "mouse",
    "price": 20
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Angular 和 Observables 来获取数据。现在我正在获取值,对其进行映射,并且可以仅获取详细信息或第一级对象属性,例如data.iddata.name。然而,获取价格等详细信息对我来说有点令人困惑。

我研究了很多关于 mergemap、flatmap、甚至 lodash 的知识,并花了无数个小时试图弄清楚,但我似乎找不到正确的方法。

我可以在地图组合中使用过滤器来实现此目的吗?任何信息都受到高度赞赏。

到目前为止,这是我的代码:

mapping observable typescript angular rxjs6

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

angular ×1

mapping ×1

observable ×1

rxjs6 ×1

typescript ×1