EN
JavaScript - set a value of nested key string descriptor inside an object
2
points
In this article, we would like to show how to sets a value of nested key string descriptor inside an object using modern ECMA Script (modern JavaScript).
Example solution:
// ONLINE-RUNNER:browser;
const setNestedProperty = (object, path, value) => {
if (path.length == 0) {
return;
}
const limit = path.length - 1;
for (let i = 0; i < limit; ++i) {
const name = path[i];
object = object[name] || (object[name] = { });
}
const name = path[limit];
object[name] = value;
}
// Usage example:
const object = {
name: 'John',
metadata: {
type: 'json'
}
};
const myKeyPath = ['metadata', 'key'];
const myKeyValue = 'my-key-value';
setNestedProperty(object, myKeyPath, myKeyValue);
console.log(`object.metadata.key='${object.metadata.key}'`);