Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

232
Visualizações
Modifique la matriz en observable con rxjs, devuelva el objeto completo

Tengo observable como este:

 currentPage: 1 items: (6) [{…}, {…}, {…}, {…}, {…}, {…}] pageSize: 10 totalItems: 6 totalPages: 1

Estoy tratando de modificar cada elemento en la matriz de elementos y luego devolver un objeto completo.

 getAllGifts(): Observable<PagedListDTO<GiftIdeaDTO>> { return this.http.get<PagedListDTO<GiftIdeaDTO>>(this.urlAPI + '/GiftIdeas/GetAll'). pipe( map(x => x.items.map (y => ({ ...y, imageContentB64: y.imageContentB64 + 'Bob' }))) , tap(console.log) ); }

pero solo obtengo una matriz modificada de elementos, sin propiedad de página actual, tamaño de página, etc.

¿Cómo puedo modificar la matriz de elementos y devolver el objeto completo?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Parece que ya está familiarizado con el uso de la sintaxis extendida ( ... ) . También puede usarlo para el objeto externo antes de aplicar Array#map a la propiedad de items .

Prueba lo siguiente

 getAllGifts(): Observable<PagedListDTO<GiftIdeaDTO>> { return this.http .get<PagedListDTO<GiftIdeaDTO>>(this.urlAPI + '/GiftIdeas/GetAll') .pipe( map(ideas => ({ ...ideas, // retain properties of the outer object items: ideas.items.map(item => ({ // adjust the `items` property ...item, imageContentB64: item.imageContentB64 + 'Bob' })) })), tap(console.log) ); }
about 4 years ago · Juan Pablo Isaza Relatório

0

El map(x => solo tiene en cuenta x.items . elementos y pierde el resto de los props .

Esto debería arreglarlo:

 getAllGifts(): Observable<PagedListDTO<GiftIdeaDTO>> { return this.http.get<PagedListDTO<GiftIdeaDTO>>(this.urlAPI + '/GiftIdeas/GetAll'). pipe( map(x => ({...x, items: x.items.map (y => ({ ...y, imageContentB64: y.imageContentB64 + 'Bob' }))) }), tap(console.log) ); }

En el código anterior, x se mapea para incluir todos los accesorios y luego items se actualizan usando x.items.map .

about 4 years ago · Juan Pablo Isaza Relatório

0

No los está devolviendo, use esto:

 getAllGifts(): Observable<PagedListDTO<GiftIdeaDTO>> { return this.http.get<PagedListDTO<GiftIdeaDTO>>(this.urlAPI + '/GiftIdeas/GetAll'). pipe( map(x => { return { ...x, items: x.items.map(y => ({ ...y, imageContentB64: y.imageContentB64 + 'Bob' })) } }) ) ,tap(console.log) ); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda