gpt4 book ai didi

javascript - 在 RxJS 中合并两个对象

转载 作者:数据小太阳 更新时间:2023-10-29 06:14:54 25 4
gpt4 key购买 nike

我在服务内部使用 rxjs 和 angular 2。我有一些可以通过 get 请求访问的 json。

   private _campInfoUrl = 'api/campInfo/campInfo.json';
constructor(private _http: Http) { }

getAvailableCamps() {
return this._http.get(this._campInfoUrl)
.map((response: Response) => response.json())

此时我拥有所有数据。但是要进入这个对象

      {
"search": {
"startDate": "2016-06-07",
"endDate": "2016-06-10"
},
"reservations": [
{"campsiteId": 1, "startDate": "2016-06-01", "endDate": "2016-06-04"},
{"campsiteId": 1, "startDate": "2016-06-11", "endDate": "2016-06-13"},
{"campsiteId": 2, "startDate": "2016-06-08", "endDate": "2016-06-09"}
]
}

这就是我想要做的

.map((response: Response) => response.json()) // <IProduct[]>
.map((tripDate) => ({
reservations: tripDate.reservations,
newRes: tripDate.search // <-- how to add this to every return object
}))

我正在努力弄清楚的是一种使用 rxjs 的方法,如何在像这样的对象的保留数组中获取 “搜索”

"reservations": [
{
"campsiteId": 1,
"startDate": "2016-06-01",
"endDate": "2016-06-04",
"searchStartDate": "2016-06-07,
"searchEndDate": "2016-06-10
},
{
"campsiteId": 1,
"startDate": "2016-06-11",
"endDate": "2016-06-13",
"searchStartDate": "2016-06-07,
"searchEndDate": "2016-06-10
},
{
"campsiteId": 2,
"startDate": "2016-06-08",
"endDate": "2016-06-09",
"searchStartDate": "2016-06-07,
"searchEndDate": "2016-06-10
}

在上面的示例中,我将搜索对象添加到保留数组的每个索引中。

我希望这是一个连接或映射来转换数组的问题。但是,我无法进入保留数组中的每个索引

如果能深入了解如何导航此 json 对象,我们将不胜感激。

最佳答案

不确定为什么你不能“进入每个索引”,但你不必这样做,你甚至可以在没有 RxJS 的情况下做到这一点:

.map((response: Response) => response.json()) // <IProduct[]>
.map((tripDate) => ({
reservations: tripDate.reservations
.map(reservation => Object.assign(
{},
reservation,
{
searchStartDate: tripDate.search.startDate,
searchEndDate: tripDate.search.endDate
}
)
)
}))

关于javascript - 在 RxJS 中合并两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41868357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com