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

126
Vistas
How can I access object properties using an array of strings / keys?

Let us consider the following array and object:

const keys = ['a', 'b', 'c'];

const object = {
  a: {
    b: {
      c: {
        data: 1
      }
    }
  }
}

Naturally, I would access the data like so:

object['a']['b']['c']

The question is, how can I access the data using the array as input? Something like:

object[...keys]
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Probably no other way to do this

const keys = ['a', 'b', 'c'];

const object = {
  a: {
    b: {
      c: {
        data: 1
      }
    }
  }
}

console.log(getValue(object, ...keys))

function getValue(obj, ...keys) {
  let current = obj
  for (const key of keys) {
    current = current[key]
  }
  return current
}

about 4 years ago · Santiago Trujillo Denunciar

0

You can loop through the keys:

function getValueAtObjectPath(obj, path) {
  let val = obj;
  let key = path.shift();
  while(key && val) {
    val = val[key];
    key = path.shift();
  };
  return val;
}

const keys = ['a', 'b', 'c'];

const object = {
  a: {
    b: {
      c: {
        data: 1
      }
    }
  }
}

let val = getValueAtObjectPath(object, keys);
console.log('value at object path: ' + JSON.stringify(val));

Return:

value at object path: {"data":1}
about 4 years ago · Santiago Trujillo 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