繁体   English   中英

在javascript中使用for循环填充二维数组

[英]Filling a 2d array using a for loop in javascript

我在使用 javascript 中的 for 循环填充二维数组时遇到问题。

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

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


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

您可以创建包含10个元素的数组,并用空数组填充所有值

var myArray = new Array(10);
myArray.fill([]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM