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

163
Vistas
¿Cómo encontrar datos específicos en la estructura de objetos anidados en Javascript?

Compartí un fragmento de código que demuestra que tengo dos tipos de response . Si observa el código a continuación, descubrirá que la response de un resultado de servicio sería ligeramente diferente. En el primer tipo, tiene un solo data pero en el segundo, este data tiene otro data en sí mismo.

 { "data": { "hasError": false, "developerMessage": null, "totalCount": 43 }, "hasError": false, "developerMessage": null }

O:

 { "data": { "hasError": false, "developerMessage": null, "data": { "hasError": false, "developerMessage": null, "totalCount": 43 }, "totalCount": 43 }, "hasError": false, "developerMessage": null }

Entonces, para manejar esta situación, primero tuve que verificar el resultado de la response y dividirlo en dos bloques. El gran problema es que por razones que no puedo explicar aquí, esta jerarquía podría expandirse y tengo tres datos, pero de lo que estamos seguros es que los data en la response siempre son los más profundos . (El tercer elemento en este ejemplo)

 return this.httpWrapperService.get(url + tableNameWithSlash, { params: params, additionalOptions: {spinnerEnabled: false} }).then((result: any) => { if (result.data.data) { // code return [...result.data.data]; } else if (result.data) { // code return [...result.data]; } });

Me preguntaba si hay una mejor solución para manejar esta response dinámica.

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

0

Puede usar la recursividad para crear una solución que funcione para cualquier profundidad, por ejemplo, los datos están en la cuarta capa

 .then((result: any) => { const findData = (response: any) => { return response.data ? findData(response.data):response; } return [...findData(result.data)]; });
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