我需要以下列方式构建动态关联:
我有一个名为param的变量
var arr = { param's value : "another value"};
我无法将param的值作为关键。
谢谢和问候!
答案 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 }
];