是否可以在 for 循环中使用数组变量值作为新变量名(或者换句话说,方程的左侧是否可以由迭代中的预定义值确定)?
for (var i = 0; i < array.length; i++) {
// we all know this is possible:
blabla[i] = apple;
// but I'm wondering if there's a way we can achieve this:
example(someVar);
}
function example(name) {
// [name] = banana;
name = banana;
}
显然,我在上面的代码片段中执行此操作的方式,值 banana
总是被分配给变量 name
。不太确定我该怎么做?
最佳答案
变量是全局对象(在浏览器中:窗口
)或其他对象的属性。所以你可以这样做:
for (var i = 0; i < array.length; i++) {
window[array[i]] = '[something]';
}
或
var someObj = {};
for (var i = 0; i < array.length; i++) {
someObj[array[i]] = '[something]';
}
关于javascript - for循环中变量名可以由数组值决定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17269106/