假设我有一个索引为 i 的 for 循环,并且我想要一个名称以索引号的字符结尾的变量。因此,每次for循环时,都会创建一个具有唯一名称的变量。我也希望这个变量成为全局变量。然后,我想稍后通过调用 var name(i)
使用这些变量中的每一个。索引名称。如果也以其他方式调用它们,那就没问题了。
也许可以用一个数组来完成,但在这种情况下,我最终会再次得到一个数组的数组,并且我需要一个数组。我也需要从数组的数组开始。
var arrays = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var array = [];
for(i = 0; i < arrays.length; i ++)
array[i] = arrays[i];
而且我不能简单地使用reduce函数,因为我希望数组数组中的每个数组都是一个单独的数组。
var arrays = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
arrays.reduce(function(a, b){
return a.concat(b);
}, []);
请注意,每次程序运行时,输入的数组都会不同,有时会出现锯齿状。
最佳答案
我不确定我是否理解你的问题。您可以使用语法 window[varname]
因此,如果您想要为 arrays
中的每个数组使用单独的变量,您可以这样做:
var arrays = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
for(i = 0; i < arrays.length; i++)
window["array"+i] = arrays[i];
然后您可以通过 array0
、array1
等访问数组。
编辑: fiddle :http://jsfiddle.net/5exfwne1/
关于javascript - 有没有办法创建变量的名称并从循环中进行更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495241/