我有一个对象,我想用动态命名的键初始化。我知道我可以用这样的代码来做:
obj = {};
prefix = "blah";
i = 0;
obj[prefix + i] = "whatever";
console.log( obj.blah0 );
e.g。从这里开始:How do I create a dynamic key to be added to a JavaScript object variable
但这可以在初始化程序中完成吗?
obj = { [prefix+i]: "whatever" };
我知道这不起作用。我尝试过这个。但有没有类似的方法可行?
答案 0 :(得分:5)
您无法在当前版本的JavaScript中动态生成对象文字中的键。
你可以使用匿名函数作为构造函数,并以这种方式生成键值对:
obj = new function() {
var i,
prefix;
prefix = 'blah';
i = 0;
this[prefix + i] = "whatever";
};
console.log(obj.blah0); //"whatever"