预定义但空多维数组在javascript



我试图创建一个多维数组来保存生成的网格。问题是我习惯在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

相关内容

  • 没有找到相关文章