首页  >  文章  >  web前端  >  如何动态设置嵌套 JavaScript 对象的属性?

如何动态设置嵌套 JavaScript 对象的属性?

Linda Hamilton
Linda Hamilton原创
2024-10-31 08:16:29286浏览

How to Dynamically Set Properties in Nested JavaScript Objects?

嵌套对象中的动态属性分配

设置嵌套对象属性可能是一项以编程方式复杂的任务,特别是当属性路径和值的深度和类型可能不同时。为了简化这个过程,我们可以创建一个动态遍历并设置对象内属性的函数。

函数实现

<code class="javascript">function set(path, value) {
    var schema = obj; // Moving reference to internal objects within obj
    var pList = path.split('.');
    var len = pList.length;

    for (var i = 0; i < len - 1; i++) {
        var elem = pList[i];
        if (!schema[elem]) schema[elem] = {};
        schema = schema[elem];
    }

    schema[pList[len - 1]] = value;
}</code>

示例用法

考虑以下嵌套对象:

<code class="javascript">var obj = {
    db: {
        mongodb: {
            host: 'localhost'
        }
    }
};</code>

要在特定路径设置属性,我们可以使用 set() 函数:

<code class="javascript">set('db.mongodb.user', 'root');</code>

结果

应用 set() 函数到示例对象将产生:

<code class="javascript">obj = {
    db: {
        mongodb: {
            host: 'localhost',
            user: 'root'
        }
    }
};</code>

以上是如何动态设置嵌套 JavaScript 对象的属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn