是否可以在循环中初始化多个Javascript数组?

时间:2010-12-23 05:42:04

标签: javascript

假设我有一个for循环,我想在该循环中初始化多个数组...我可以这样做吗?:

for(var i=0;i<5;i++){
  var array+i=[];
}

这样将要创建的数组是array0,array1,array2,array3,array4 ?? 任何帮助将不胜感激:))

7 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

你可能会eval出来,

for (var i=0;i<5;i++) {
 eval("var array"+i+"=[];");
}

但是eval是邪恶的,只使用二维数组会更有意义。

答案 2 :(得分:1)

您可以创建一个数组数组:

var arr = [];
for (var i = 0; i < 5; i++) {
    arr[i] = [];
}

或者它必须是一个全局变量(可能不是一个好主意):

for (var i = 0; i < 5; i++) {
    window["array" + i] = [];
}

答案 3 :(得分:1)

您可以使用多维数组来解决此问题:

for(var i=0;i<5;i++){
  var array[i]=[];
}

将导致:

array[0] = []
array[1] = []
array[2] = []
array[3] = []
array[4] = []

希望有所帮助:)

答案 4 :(得分:0)

您可以使用two dimensional array

答案 5 :(得分:0)

初始化10个空数组的示例:

let subArrays = Array.from({length: 10}, () => []);

答案 6 :(得分:-1)

如果你在浏览器中并且愿意做一些hacky,你可以使用顶级对象,即window

for (var i = 0; i < 5; i++) {
  window["array" + i] = [];
}

执行此操作后,您将能够将每个数组称为array1或您想要的任何数字。

这就是说,你可能永远不会真正使用这种方法。