Languages
[Edit]
EN

JavaScript - set a value of nested key string descriptor inside an object

2 points
Created by:
Reilly-Collier
860

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}'`);
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join