首頁 >web前端 >js教程 >如何動態設定嵌套 JavaScript 物件的屬性?

如何動態設定嵌套 JavaScript 物件的屬性?

Linda Hamilton
Linda Hamilton原創
2024-10-31 08:16:29353瀏覽

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