我试图创建一个多维数组来保存生成的网格。问题是我习惯在java中这样做,但在javascript中这样做似乎更难。我知道有数组的数组,而不是标准的java风格,这就是造成混乱的原因。
在Java中,我希望这样做:
private static int[][] anyGrid(int rows, int cols) {
int[][] grid = new int[rows][cols];
return grid;
}
假设行和cols是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]网格[0][5]。一个内部数组长度为6的数组
这是. .这不是我想要的。
我如何使它是空的,但多维超越第一行?
谢谢
你可以试试:
var grid = [], cols = 3, rows = 4
for (i = 0; i < cols; i++)
grid.push(new Array(rows))
或者将cols
换成rows