我有一个对象,我想用动态命名的键初始化.我知道我可以在这样的代码中做到这一点:
obj = {};
prefix = "blah";
i = 0;
obj[prefix + i] = "whatever";
console.log( obj.blah0 );
Run Code Online (Sandbox Code Playgroud)
例如,从这里开始:如何创建要添加到JavaScript对象变量的动态密钥
但这可以在初始化器中完成吗?
obj = { [prefix+i]: "whatever" };
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用.我尝试过这个.但有没有类似的方法可行?
您无法在当前版本的JavaScript中动态生成对象文字中的键.
您可以使用匿名函数作为构造函数,并以这种方式生成键值对:
obj = new function() {
var i,
prefix;
prefix = 'blah';
i = 0;
this[prefix + i] = "whatever";
};
console.log(obj.blah0); //"whatever"
Run Code Online (Sandbox Code Playgroud)