我在使用JavaScript中的for循环填充2d数组时遇到问题。
var myArray = [[],[]];
var x = 0;
var z = 0;
for (x = 0; x < 10; x++) {
for (z = 0; z < 10; z++) {
myArray[x][z] = "x"+x+"z"+z;
}
}
console.log(myArray);
答案 0 :(得分:0)
JavaScript没有二维数组。它具有数组数组。¹代码中的问题是您只创建了两个内部数组,而没有创建其他八个。
解决方案是在x
循环的内部 中创建内部数组:
var myArray = []; // *** Just create the outer
var x = 0;
var z = 0;
for (x = 0; x < 10; x++) {
myArray[x] = []; // *** Create inner here
for (z = 0; z < 10; z++) {
myArray[x][z] = "x"+x+"z"+z;
}
}
console.log(myArray);
¹更一般地说,它没有多维数组,它具有数组(数组(数组(...)))。 :-)