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

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

Linda Hamilton
发布: 2024-10-31 08:16:29
原创
368 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板