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

268
Vistas
Acceda al objeto JSON anidado sin especificar la clave en JavaScript

Decidí aprender más sobre las funciones de mapeo y bucle de JavaScript haciendo objetos/matrices anidados. Ahora me topé con un problema que es algo similar a este pero mucho más complicado.

Acceder a elementos del objeto JSON sin conocer los nombres de las claves

aquí está mi JSON:

 "employees": { "Gill Bates": { "position": "Software Engineer", "office": "Tokyo, Japan" }, "Jebron Lames": { "position": "Full-stack Developer", "office": "Manila, Philippines" } }

y mi función accessJson , que es la famosa solución para objetos JSON anidados:

 function accessJson(obj) { const result = []; for (const prop in obj) { const value = obj[prop]; if (typeof value === 'object') { result.push(toArray(value)); } else { result.push(value); } } return result; }

El código funciona perfectamente bien para acceder al objeto JSON. Pero el problema es que obtengo un retorno que se ve así:

ingrese la descripción de la imagen aquí

En el que necesitaba escribir otra función nuevamente para recortar y combinar esos caracteres solo para obtener la posición de cada empleado. ¿Hay alguna manera de obtener el puesto de todos los empleados sin especificar su nombre? Como una declaración de variable de una línea (no funciona) como esta:

 let position = Object.keys(employees)[0].position;

En el que puedo insertarlo dentro de mi bucle para poder eliminar mi función accessJson existente y reducir mi código.

EDITAR:

Por favor, no marque mi pregunta como duplicada. Creo que ya lo mencioné anteriormente que mi código está bien y funciona perfectamente. Lo que quería recibir comentarios es si podemos optimizar mi código en una declaración de una línea para que podamos deshacernos de la función accessJson y evitar la creación de otra función que recorte y combine esos caracteres solo para obtener la posición de cada empleado.

Mi pregunta y la función accessJson es similar a esto:

¿Cómo puedo acceder y procesar objetos anidados, matrices o JSON?

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

0

 const data = { "employees": { "Gill Bates": { "position": "Software Engineer", "office": "Tokyo, Japan" }, "Jebron Lames": { "position": "Full-stack Developer", "office": "Manila, Philippines" } } }; const { employees } = data; const extract = (p) => Object.keys(employees).map(name => employees[name][p]); console.log('get every employees position', extract('position')); console.log('get every employees office', extract('office'));

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