Combina dos objects en RxJS

Estoy trabajando con rxjs y angular 2 dentro de un service. Tengo un json al que pude acceder con una request de obtención .

private _campInfoUrl = 'api/campInfo/campInfo.json'; constructor(private _http: Http) { } getAvailableCamps() { return this._http.get(this._campInfoUrl) .map((response: Response) => response.json()) 

En este punto, tengo todos los datos. Sin embargo, para entrar en este object

  { "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"} ] } 

esto es lo que trato de hacer

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

Lo que estoy luchando por descubrir es una forma con rxjs de cómo get "búsqueda" dentro de la reserva de objects de reserva como por ejemplo

 "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 } 

En el ejemplo anterior, tengo el object de búsqueda agregado a cada índice de la matriz de reservas.

Esperaba que fuera una cuestión de concatenación o mapeo para transformar la matriz. Sin embargo, no puedo ingresar a cada índice en el set de reservas

Cualquier idea sobre la navigation de este object json sería muy apreciada.

No estoy seguro de por qué no puede ingresar "dentro de cada índice", pero no tiene que hacerlo, e incluso puede hacerlo sin 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 } ) ) }))