我试图创建一个多维数组来保存生成的网格。 问题是我曾经习惯在java中这样做,但在javascript中这样做看起来更难。我知道有阵列数组而不是标准的java风格,这就是引起混淆的原因。
所以在Java中我希望这样做:
private static int[][] anyGrid(int rows, int cols) {
int[][] grid = new int[rows][cols];
return grid;
}
假设行和列是3的变量。会发生什么,是否会产生如下内容:
网格是:
[0,0][0,1][0,2]
[1,0][1,1][1,2]
[2,0][2,1][2,2]
但实际的条目是空的。
因此,如果我想访问第一个条目,我会这样做:
grid[0][0]
,除非我去了grid[0][0] = 1
,否则这将是空的。例如。
然而,在javascript中这样做我不知所措。
var grid = new Array(new Array(cols));
简单地生成一个数组: 格[0] [0] -grid [0] [5]。 所以一个数组的内部数组长度为6。
这不是我之后的事。
我如何制作它以使其为空,但超出第一行的多维?
谢谢
答案 0 :(得分:1)
你可以试试这个:
var grid = [], cols = 3, rows = 4
for (i = 0; i < cols; i++)
grid.push(new Array(rows))
或者将cols
与rows
交换。