在javascript中初始化2D数组元素

在javascript中初始化2D数组元素,javascript,arrays,Javascript,Arrays,我想使用javascript初始化并打印2D数组的元素。 我编写了这段代码,但没有任何内容显示为输出。如何输出这个数组 var m = 6; var n = 3; var mat = new Array[m][n]; for (i = 0; i < mat.length; i++) { for (j = 0; j < mat[i].length; j++) { mat[i][j]) = i * j; document.writeln(mat[i][j]);

我想使用javascript初始化并打印2D数组的元素。 我编写了这段代码,但没有任何内容显示为输出。如何输出这个数组

var m = 6;
var n = 3;
var mat = new Array[m][n];

for (i = 0; i < mat.length; i++) {
  for (j = 0; j < mat[i].length; j++) {
    mat[i][j]) = i * j;
    document.writeln(mat[i][j]);
  }
  document.writeln("<br />");
}
var m=6;
var n=3;
var mat=新数组[m][n];
对于(i=0;i”);
}

正如BenG指出的,您有一个额外的
,但您也没有正确初始化阵列。Javascript不允许像其他语言一样声明多维数组。相反,你必须做一些更像这样的事情:

var m = 6;
var n = 3;
var mat = new Array(m);
for (var i = 0; i < m; i++) {
  mat[i] = new Array(n);
}
var m=6;
var n=3;
var mat=新阵列(m);
对于(变量i=0;i

var m=6;
var n=3;
var mat=新阵列(m);
对于(变量i=0;i”);
}

Javascript数组是动态的。它们将增长到您需要的大小。您可以调用
push()
将新元素添加到数组中。还值得注意的是,您应该避免在对象和数组中使用
new
关键字。对数组使用它们的文字符号
[]
,对对象使用它们的文字符号
{}
。因此,更好的解决方案是根据需要推送阵列

var mat = [];
var m = 6;
var n = 3;
for (var i = 0; i < m; i++) {
  // Let's add an empty array to our main array
  mat.push([]);
  for (var j = 0; j < n; j++) {
    mat[i].push(i * j);
    document.writeln(i * j);
  }
  document.writeln('<br />');
}
var mat=[];
var m=6;
var n=3;
对于(变量i=0;i”);
}

注意,无需使用数组的维度初始化数组。您可以执行
var mat=[]仍然可以得到你想要的结果accordingly@Doen不客气。这是一个很好的实践