Mer*_*erC 6 javascript arrays variables dynamic
假设我有一个变量名称数组:
var varNames = new Array("name1","name2","name3");
Run Code Online (Sandbox Code Playgroud)
我如何创建var name1,var name2并var name3通过循环varNames数组?
这将创建全局变量(在全局命名空间中,即window).
var varNames = ["name1","name2","name3"];
for (var i=0;i<varNames.length;i+=1){
window[varNames[i]] = 0;
}
name1; //=> 0
Run Code Online (Sandbox Code Playgroud)
由于使用全局变量被认为是不好的做法,您可以在custum对象中创建变量:
var myVariables = {}
,varNames = ["name1","name2","name3"];
for (var i=0;i<varNames.length;i+=1){
myVariables[varNames[i]] = 0;
}
myVariables.name1; //=> 0
Run Code Online (Sandbox Code Playgroud)
编辑2017
使用es≥6:
const [v1, v2, v3] = ["name1","name2","name3"];
console.log(v1); // => name1
Run Code Online (Sandbox Code Playgroud)