【问题标题】:predefined but empty multidimensional array in javascriptjavascript中预定义但为空的多维数组
【发布时间】:2014-05-25 15:33:33
【问题描述】:

我正在尝试创建一个多维数组来保存生成的网格。 问题是我习惯于在 java 中执行此操作,但在 javascript 中执行此操作似乎更难。我知道有数组数组而不是标准的 java 样式,这就是造成混乱的原因。

所以在 Java 中我希望这样做:

private static int[][] anyGrid(int rows, int cols) {
    int[][] grid = new int[rows][cols];
    return grid;
}

假设 rows 和 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 的数组。

这是..不是我想要的。

我该如何让它是空的,但在第一行之外是多维的?

谢谢

【问题讨论】:

    标签: javascript arrays multidimensional-array


    【解决方案1】:

    你可以试试这个:

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

    或将cols 替换为rows

    【讨论】:

      猜你喜欢
      • 2020-09-23
      • 1970-01-01
      • 2017-09-27
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2019-01-21
      • 1970-01-01
      相关资源
      最近更新 更多