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]
Advertisement
Answer
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 }