设置嵌套对象属性可能是一项以编程方式复杂的任务,特别是当属性路径和值的深度和类型可能不同时。为了简化这个过程,我们可以创建一个动态遍历并设置对象内属性的函数。
<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中文网其他相关文章!