var var1;
var var2;
var var3;
var list_var = [var1, var2, var3];
var values = ["hello", "cruel", "world"];
我想要......
var1 = "hello"
var2 = "cruel"
var3 = "world"
我该怎么办?在我的情况下,我需要在列表中有一个动态的原始变量列表,需要相应地设置。我想用for
循环来完成这个。
答案 0 :(得分:1)
您可以使用解构。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
在你的例子中......
var values = ["hello", "cruel", "world"];
var [var1, var2, var3] = values;
console.log(var1, var2, var3)
https://jsfiddle.net/fnsjrjcv/
更新:您可以使用它来设置外部作用域中的变量,方法与使用普通变量的方式相同。通过在外部范围内定义它们,这是一个例子:
var var1, var2, var3;
function changeMyVars() {
var values = ["hello", "cruel", "world"];
[var1, var2, var3] = values;
}
changeMyVars();
答案 1 :(得分:0)
解决方案可以是:
for (i = 1; i < 4; i++) {
eval("var" + i + "=" + values[i]);
}
无论如何,根据具体情况,您应该意识到使用它不是一种合理的方式。
答案 2 :(得分:0)
您可以使用window
对象在全局范围内设置变量值(尽管不建议/建议在全局范围内使用变量)。但是list_var
应该有字符串格式的变量列表。
var list_var = ["var1", "var2", "var3"];
var values = ["hello", "cruel", "world"];
for (i = 0; i < list_var.length; i++) {
window[list_var[i]] = values[i];
}
console.log(var1);
console.log(var2);