如何在初始化程序中以编程方式创建对象键?

时间:2014-11-06 20:18:41

标签: javascript

我有一个对象,我想用动态命名的键初始化。我知道我可以用这样的代码来做:

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" };

我知道这不起作用。我尝试过这个。但有没有类似的方法可行?

1 个答案:

答案 0 :(得分:5)

您无法在当前版本的JavaScript中动态生成对象文字中的键。

可以使用匿名函数作为构造函数,并以这种方式生成键值对:

obj = new function() {
    var i,
        prefix;
    prefix = 'blah';
    i = 0;
    this[prefix + i] = "whatever";
};
console.log(obj.blah0); //"whatever"