是否可以像在java中一样在javascript中初始化二维数组?
我想用javascript表示一个棋盘游戏,为此我需要一个二维数组 我有不同的电路板大小,所以我需要在开始时用电路板大小初始化阵列。我是一名java程序员,因此我知道在java中,当您需要二维数组时,您只需执行以下操作:是否可以像在java中一样在javascript中初始化二维数组?,javascript,arrays,Javascript,Arrays,我想用javascript表示一个棋盘游戏,为此我需要一个二维数组 我有不同的电路板大小,所以我需要在开始时用电路板大小初始化阵列。我是一名java程序员,因此我知道在java中,当您需要二维数组时,您只需执行以下操作: int board_size = 6; String board = new String[board_size][board_size]; 如何使用javascript实现这一点?我已经搜索并找到了一些实现这一点的方法,但都没有这一种直观。对于JavaScript,它不像J
int board_size = 6;
String board = new String[board_size][board_size];
如何使用javascript实现这一点?我已经搜索并找到了一些实现这一点的方法,但都没有这一种直观。对于JavaScript,它不像Java那样是一种静态语言。它是动态的。这意味着您可以创建数组,而无需预设数组的大小,但如果需要,您可以生成所需大小的数组
var items = [[1,2],[3,4],[5,6]];
alert(items[0][0]); // 1
如果你需要增加,就这么做
items.push([7,8]);
这将添加下一个元素。
代码取自旧堆栈溢出日志:
编辑以正确地使项目中的I与变量声明相同。与Java或C#中不同,它不是必需的。Javascript数组是动态增长的,并且经过优化,可以这样工作,因此您不必预先设置矩阵维度的大小 但是,如果您坚持,可以执行以下操作来预先设置尺寸:
var board = [];
var board_size = 6;
for (var i = 0; i < board_size; i++) {
board[i] = new Array(board_size);
}
var板=[];
var板尺寸=6;
对于(变量i=0;i
总之,您只有三个选择:
- 使用文本初始化(如@Geohut-answer中)
- 使用循环初始化(如我的示例中所示)
- 不要预先初始化,而是按需初始化,更接近访问维度的代码