Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

79
Visualizações
¿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 Respostas
Responde à pergunta

0

Una versión corta con reducir:

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

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda