是否可以像在java中一样在javascript中初始化二维数组?

时间:2015-02-09 09:54:59

标签: javascript arrays

我想用javascript代表棋盘游戏,为此我需要一个二维数组。

我有不同的电路板尺寸,所以我需要在开始时用电路板尺寸初始化阵列。我是一名java程序员,所以我知道在java中,当你想要一个二维数组时,你就是这样做:

int board_size = 6;
String board = new String[board_size][board_size];

我如何用javascript实现这一目标?我已经搜索并找到了一些方法来做到这一点,但都不如此直观。

2 个答案:

答案 0 :(得分:1)

使用JavaScript,它不是像Java那样的静态语言。它是动态的。这意味着您可以创建数组而无需预设数组的大小,但如果您需要,可以生成所需大小的数组。

var items = [[1,2],[3,4],[5,6]];
alert(items[0][0]); // 1

如果您需要添加它,只需执行

items.push([7,8]);

这将添加下一个元素。 代码取自旧堆栈溢出帖子:How can I create a two dimensional array in JavaScript?

编辑以正确地使我在与变量声明相同的项目中。

答案 1 :(得分:1)

不需要像Java或C#那样。 Javascript阵列动态增长,并且它们经过优化以便以这种方式工作,因此您不必预先设置矩阵尺寸的大小。

但是,如果您坚持,可以执行以下操作来预先设置尺寸:

var board = [];
var board_size = 6;

for (var i = 0; i < board_size; i++) {
    board[i] = new Array(board_size);
}

总而言之,您只有三个选择:

  • 使用文字初始化(如@Geohut答案)
  • 使用循环进行初始化(如我的示例中所示)
  • 不要预先初始化,而是按需,更接近访问维度的代码。