使用JavaScript中的for循环填充2D数组

时间:2019-11-24 19:04:26

标签: javascript

我在使用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);

1 个答案:

答案 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);


¹更一般地说,它没有多维数组,它具有数组(数组(数组(...)))。 :-)