在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中文網其他相關文章!