Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

223
Vistas
foreach a través de un mapa que tiene otro mapa como valor en Angular

Creé un servicio en Java que devuelve como observable un mapa <k, mapa <k, v>> y estoy intentando iterar a través del mapa externo con un foreach. Estoy luchando por.

 [...] .then( (response: Package) => { response.activityMap.forEach((key: string, value: Map<string, number>) => { //do something }); } ) [...]

El paquete es un tipo con los siguientes parámetros:

 export interface Package{ diagnostic?: Diagnostic; activityMap?: { [key: string]: { [key: string]: number; }; }; }

Lo que estoy tratando de hacer es crear un forEach que itere a través del mapa "padre", por lo que para cada clave //haga algo

Pero no me deja usar foreach:

Esta expresión no es invocable. Escriba '{ [clave: cadena]: número; }' no tiene firmas de llamada.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Dado que está devolviendo un observable, primero debe suscribirse al observable, luego puede iterar los valores devueltos.

Hay 2 enfoques en orden de cómo manejamos las suscripciones

Enfoque 1

Manejo de suscripción dentro de nuestro componente

 this.myService.getPackage().subscribe((response: Package) => { response.activityMap.forEach((key: string, value: Map<string, number>) => { //do something }); })

También asegúrese de cancelar la suscripción para evitar que su aplicación tenga pérdidas de memoria.

Puede hacerlo con el operador TakeUntill RxJS https://www.digitalocean.com/community/tutorials/angular-takeuntil-rxjs-unsubscribe

O

Enfoque 2

Usando tubería asíncrona

En lugar de suscribirse, puede usar canalizaciones asíncronas, lo que se considera una buena práctica https://blog.angular-university.io/angular-reactive-templates/

Consejo

En lugar de iterar dentro de la suscripción, recomendaría que use el operador de mapa RxJS combinado dentro de una tubería https://rxjs.dev/api/operators/map

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda