首頁 > web前端 > js教程 > 如何使用字串名稱動態設定嵌套 JavaScript 物件屬性?

如何使用字串名稱動態設定嵌套 JavaScript 物件屬性?

DDD
發布: 2024-12-05 03:00:11
原創
848 人瀏覽過

How to Dynamically Set Nested JavaScript Object Properties Using String Names?

在JavaScript 中使用字串名稱動態設定對象屬性

給定一個具有複雜嵌套結構的對象,可能需要設定特定的屬性物件層次結構深處的屬性。但是,如果屬性名稱僅以字串形式提供,則傳統的賦值技術將變得低效。

為了解決這個挑戰,assign() 函數示範了一種遍歷和設定物件屬性的遞歸方法:

function assign(obj, prop, value) {
    if (typeof prop === "string")
        prop = prop.split(".");

    if (prop.length > 1) {
        var e = prop.shift();
        assign(obj[e] =
                 Object.prototype.toString.call(obj[e]) === "[object Object]"
                 ? obj[e]
                 : {},
               prop,
               value);
    } else
        obj[prop[0]] = value;
}

var obj = {},
    propName = "foo.bar.foobar";

assign(obj, propName, "Value");
登入後複製

此函數允許您動態地將屬性obj.foo. bar.foobar 設定為所需的值,即使屬性名稱僅作為字串。

以上是如何使用字串名稱動態設定嵌套 JavaScript 物件屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板