1
如果此標題沒有意義,但我無法找到描述此方法的道歉。我搜索了很多,但不斷獲得答案訪問單一級別。訪問嵌套對象鍵的變量名稱
我有一個對象:
var o = {
id: 1,
customer: {
name: 'Barry Scroggins'
}
}
我有一個訪問:
var keyName = 'customer'
我知道我可以通過以下方式使用來獲取對象的客戶部分:
o[keyName] // { name: 'Barry Scroggins' }
但是,在我的應用程序中,我想訪問客戶對象的'名稱'部分,使用動態創建的一組變量。所以我的應用程序產生了這個字符串:
var accessors = 'customer.name';
然後我分裂在'。'獲得一系列條目,但不管我嘗試什麼,我都無法直接訪問客戶名稱部分。
我知道我能做到這一點是這樣的:o['customer']['name']
,但我需要動態地建立這些密鑰並有可能是任何數量的水平,以他們的(即customer.address.zipcode
)
這是可能的,或者是一個可怕的,可怕的方式來建立事物?如果是這樣,你有其他選擇嗎?
雖然有可能,這是建立東西可怕,可怕的方式。把所有東西都放在var customer中,甚至不要創建var o。對於那些沒有更合理的選擇的人來說,請參考Nina Scholz的答案。 OP確實有更好的方法。 – TurnipEntropy
@TurnipEntropy我同意,整個事情是一團糟,但幾乎所有的東西都從後端api放出,然後轉儲到用於呈現網頁的單個模板中。儘管重複,我更喜歡下面給出的答案。 –