我正在试图弄清楚如何创建一个固定尺寸的多维数组。
This堆栈溢出线程表示三维数组可以像这样制作:
var arrayName = new Array(new Array(new Array()));
和this教程说可以像这样创建一个固定长度的单维数组:
var varname = new Array(3);
我不确定如何制作一个固定大小的多维数组(我正在创建一个六边形网格)。我的猜测是你必须这样做:
var hexgrid_radius = 20;
var array1 = new Array(hexgrid_radius);
for(int i = 0; i < array1.length; i++) {
var array2 = new Array(hexgrid_radius);
array1[i] = array2;
for(int j = 0; j < array2.length; j++) {
var array3 = new Array(hexgrid_radius);
array2[j] = array3;
}
}
答案 0 :(得分:2)
不要使用Array
构造函数,只需使用数组文字。并且您不能在JavaScript中使用int i
之类的类型声明。这样的东西就是你想要的东西(取自我自己的基于六角形的游戏):
var size = 20;
var grid = [];
for ( var row = 0; row < size; row++ ) {
grid[ row ] = [];
for ( var col = 0; col < size; col++ ) {
grid[ row ][ col ] = new HexTile( row, col );
}
}