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

122
Vistas
El objeto anidado debe modificarse

Este es el json de entrada que estoy leyendo y tratando de cambiar la estructura según el requisito. Pero no puedo hacerlo, los países que puedo poner dentro del objeto pero la zona horaria no puedo leer. ¿Puede alguien ayudarme claramente? Necesito trabajar en objetos un poco más difícil.

 let timezone = { countries: { Algeria: { cities: { "Algiers": { city: "Algiers", timezone: "(UTC+01:00) W. central africa standard time", ianaTz: "Africa/Algiers", }, }, }, Argentina: { cities: { "Buenos aires": { city: "Buenos aires", timezone: "(UTC-03:00) Argentina standard time", ianaTz: "America/Argentina/Buenos_Aires", }, "Cordoba": { city: "Cordoba", timezone: "(UTC-03:00) Argentina standard time", ianaTz: "America/Argentina/Cordoba", }, "Tucuman": { city: "Tucuman", timezone: "(UTC-03:00) Argentina standard time", ianaTz: "America/Argentina/Tucuman", }, }, } } } function editTimezone(timezone) { var arr = []; for (var key in timezone.countries) { var city = timezone.countries[key].cities; for (var cit in city) { var timezone = timezone.countries[key].cities.cit.timezone; //undefined } arr.push({ "country": key, "timezone": [timezone] }) } console.log(arr); } editTimezone(timezone);

// SALIDA REQUERIDA--

 [{ "country":"Algeria" "timezone": ["((UTC+01:00) W. central africa standard time"] }, { "country":"Argentina" "timezone": ["(UTC-03:00) Argentina standard time","(UTC-03:00) Argentina standard time","(UTC-03:00) Argentina standard time"] } ]

No estoy seguro de qué lógica debo escribir para lograr el resultado.

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

0

Guion:

 function editTimezone() { var countries = timezone.countries; var arr = Object.keys(countries).map(country => { var cities = countries[country].cities; return { 'country': country, 'timezone' : Object.keys(cities).map(city => cities[city].timezone) } }); console.log(arr); }

Pasos:

  • Primero, obtenga los países, luego mapéelos para crear una matriz.
  • A continuación, obtenga la lista de ciudades por país y vuelva a mapearla con sus propias zonas horarias.
  • Por último, devuelva tanto el nombre del país como las zonas horarias como un objeto en conjunto para obtener una matriz de estos objetos.

Producción:

producción

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