我的目标是使用以下代码动态生成变量foo1
,foo2
和foo3
并为其分配bar
:
for (var i=1;i<=3;i++) {
myapp.set({ foo+i: "bar" })
}
我尝试在eval
上使用foo
,因为它不起作用。有任何想法吗?
答案 0 :(得分:4)
for (var i=1;i<=3;i++) {
var myObj = {};
myObj['foo' + i] = 'bar';
myapp.set(myObj);
}
答案 1 :(得分:2)
您可以使用方括号执行此操作。如果您希望变量位于全局范围内,请使用window['foo'+i]
。
例如:
for (var i=1; i<=3; i++) {
window['foo'+i] = 'bar';
// OR, if you want them in 'myApp' scope:
myApp['foo'+i] = 'bar';
}
答案 2 :(得分:1)
var myApp = {};
for (var i=1; i <= 3; i++) {
myApp['foo'+i] = "bar";
}
console.log(myApp);