2011-09-04 70 views
1

我試圖通過一個jQuery插件(Lawnchair)存儲在瀏覽器本地存儲的下列對象:使用JavaScript變量作爲對象標識符

{"key" : lcName, lcType : dataObj} 

我遇到的問題是,「lcType」是變量(字符串類型)傳遞給存儲上述對象的函數,但它不被用作對象標識符,而是字符串「lcType」最終被使用。

如果lcType = 「傳遞的對象標識符」,它應該是這樣的:

{ 
    "key" : "String", 
    "Passed Object Identifier" : {...} 
} 

什麼我得到的是:

{ 
    "key" : "String", 
    "lcType" : {...} 
} 

任何想法?

+1

[傳遞動態密鑰:值對對象文本?]的可能重複(HTTP:// stackoverflow.com/questions/4119324/passing-in-dynamic-keyvalue-pairs-to-an-object-literal)...這個問題已經被問得夠多了......請在問之前使用搜索。 –

+0

@Felix Kling謝謝你指出這一點;下次我會做更徹底的搜索。 – dSquared

回答

9

JavaScript對象都只是關聯數組,這樣你就可以這樣對待他們:

var foo = { 'key' : 'some key' }; 
var lcType = 'foo'; 
foo[lcType] = 'bar'; 

// foo now looks like this { 'key' : 'some key', 'foo': 'bar' } 
+0

非常感謝! – dSquared

3
var o = {"key" : "String"}; 
o[lcType] = dataObj;