javascript中预定义但空的多维数组

时间:2014-05-25 15:33:34

标签: javascript arrays multidimensional-array

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

这不是我之后的事。

我如何制作它以使其为空,但超出第一行的多维?

谢谢

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

var grid = [], cols = 3, rows = 4
for (i = 0; i < cols; i++)
    grid.push(new Array(rows))

或者将colsrows交换。