2014-04-12 75 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 } 
]; 
相关问题