Javascript:如何将变量的值设置为关联数组中的键?

时间:2014-04-12 14:18:53

标签: javascript

我需要以下列方式构建动态关联:

我有一个名为param的变量

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

我无法将param的值作为关键。

谢谢和问候!

5 个答案:

答案 0 :(得分:5)

试试这个。

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

注意:' var arr = {}',这里的arr是Object而不是array。 see

答案 1 :(得分:5)

目前还不清楚你在问什么,但是对它进行了抨击:如果你的意思是你有一个变量param,并且想要使用它的值(只是它的值)财产名称:

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

这是有效的,因为在JavaScript中你可以使用" dot"来访问对象的属性。符号和文字(obj.foo),或括号内的符号和字符串(obj["foo"])。在第二种情况下,字符串可以是任何表达式的结果,并且适用于文字的属性名称的约束不适用(因为我们不使用文字)。

答案 2 :(得分:3)

只需将密钥放在引号中:

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

答案 3 :(得分:2)

您是否只想将变量param中存储的值用作键?

如果是这样的话:

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

myObject[param] = 'something else';

答案 4 :(得分: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 }
];