2014-04-12 108 views

回答

5

試試這個。

var arr = {}; 
arr[ param + "'s value"] = "another value"; 

注意:'var arr = {}',這裏arr是Object而不是數組。 see

+0

哈哈什麼樣的怪異鍵可以有這個名:d? – Kalzem

+0

這真的很聰明! – curious1

+0

我認爲***的價值***是OP試圖解釋問題。 –

5

目前還不清楚你問什麼,但採取了刺吧:如果你的意思是你有一個變量,param,並希望使用它的值(只是它的值)作爲屬性名稱:

var obj = {}; // Note "obj", not "arr" -- it's not an array 
obj[param] = "another value"; 

這很有效,因爲在JavaScript中,您可以使用「點」符號和文字(obj.foo)或括號表示法和字符串(obj["foo"])來訪問對象的屬性。在第二種情況下,字符串可以是任何表達式的結果,並且適用於文字的屬性名稱上的約束不適用(因爲我們不使用文字)。

+1

「我有一個名爲param的變量」我認爲OP只是想要param的值。順便說一句,似乎是重複的。 –

+0

T.J.克勞德,我認爲你的解決方案和Anoop一樣,對嗎? – curious1

+1

@ curious1:其實我覺得我們都有些誤解。感謝OneKitten,我更新了我想要的內容。 –

3

只要把引號中的關鍵:

var arr = { "param's value" : "another value"}; 
+1

我想他可能意味着一個變量而不是一個字符串。 – agconti

+0

哦..所以我想我錯過了這個問題。謝謝。 – user1983983

+1

以防''param'不是一個變量,但。 –

2

你只想使用存儲在變量param作爲一個關鍵的價值?

如果是這樣:

var param = 'something', 
    myObject = {}; 

myObject[param] = 'something else'; 
1

技術上它是一個對象{}的陣列與(方形)括號[]寫入。

設置的對象上一個新的道具或編輯一個可以這樣做:

var obj = {}; 
obj.key = 'value'; 
// or 
obj['key'] = 'value'; 

//object inside an object. 
var obj = {}; 
obj.objNested = { 
    key: 'value' 
}; 
// or 
obj.objNested = {}; 
obj.objNested.key = 'value'; 

// or with a variable; 
var obj = {}; 
var key = 'prop'; 
obj[key] = 'value'; 

// an array containing objects: 
var array = [ 
    { key: value }, 
    { key: value } 
]; 
相關問題