【发布时间】:2014-05-26 17:29:09
【问题描述】:
我需要通过以下方式构建动态关联:
我有一个名为 param 的变量
var arr = { param's value : "another value"};
我无法将参数的值作为键。
感谢和问候!
【问题讨论】:
标签: javascript
我需要通过以下方式构建动态关联:
我有一个名为 param 的变量
var arr = { param's value : "another value"};
我无法将参数的值作为键。
感谢和问候!
【问题讨论】:
标签: javascript
从技术上讲,它是一个对象 {} 一个数组是用(方)括号编写的 []。
可以在对象上设置新道具或编辑道具:
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 }
];
【讨论】:
不清楚你在问什么,但试一试:如果你的意思是你有一个变量 param,并且想使用它的值(只是它的值)作为属性名称:
var obj = {}; // Note "obj", not "arr" -- it's not an array
obj[param] = "another value";
之所以有效,是因为在 JavaScript 中,您可以使用“点”表示法和文字 (obj.foo) 或括号表示法和字符串 (obj["foo"]) 来访问对象的属性。在第二种情况下,字符串可以是任何表达式的结果,适用于文字的属性名称约束不适用(因为我们没有使用文字)。
【讨论】:
您是否只想使用存储在变量param 中的值作为键?
如果是这样:
var param = 'something',
myObject = {};
myObject[param] = 'something else';
【讨论】:
只需将密钥放在引号中:
var arr = { "param's value" : "another value"};
【讨论】:
param 不是变量。
试试这个。
var arr = {};
arr[ param + "'s value"] = "another value";
注意:'var arr = {}',这里的 arr 是 Object 而不是数组。 see
【讨论】: