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

81
Vistas
¿Cómo obtiene valor de un objeto multidimensional cuando la ruta del nombre se almacena en una matriz de longitud desconocida?

Estoy creando un directorio de carpetas y necesito permitir que los usuarios naveguen dentro de él. Tengo una variable global que almacena su ubicación en el directorio. ¿Cómo puedo acceder al contenido dentro de su carpeta seleccionada?

Esto es lo que yo qué.

 let location = ["2022","March","Week4"]; let content = folderInformation["2022"]["March"]["Week4"];

Sin embargo, los nombres de archivo "2022, marzo, semana 4, ect" los establece el usuario.

Así que podría hacer esto.

 let location = ["2022","March","Week4"]; let layer1 = location[0]; let layer2 = location[1]; let layer3 = location[2]; let content = folderInformation[layer1][layer2][layer3];

Sin embargo, el usuario podría tener 2 capas de profundidad o 15.

Lo intenté

 let layers = location.join("]["); let content = folderInformation[layers];

y

 let layers = "["+location.join("][")+"]"; let content = folderInformation+layers;

sin exito ¿Cuál es la mejor opción para acceder al contenido dentro del objeto?

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

0

Una versión corta con reducir:

 const content = location.reduce((o,l)=>o?.[l],folderinformation);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Recorra su matriz de locations y acceda a cada ubicación en el objeto de información de folderInformation una por una. De esta manera irás un nivel más profundo con cada iteración.

 function getFolderInformation(folderInformation, locations) { let currentLocation = folderInformation; for (const location of locations) { if (location in currentLocation) { currentLocation = currentLocation[location]; } } return currentLocation; } const folderInformation = { '2022': { 'Februari': { 'Week1': { title: 'Nope', description: 'Not this one' } }, 'March': { 'Week3': { title: 'Also no', description: 'Wrong' }, 'Week4': { title: 'Foo', description: 'Bar' }, } } }; let locations = ["2022", "March", "Week4"]; let content = getFolderInformation(folderInformation, locations); console.log(content);

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