我想初始化然后使用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 />");
}
答案 0 :(得分:1)
正如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);
}
答案 1 :(得分:1)
<html>
<body>
</body>
<script>
var m=6;
var n=3;
var mat =new Array(m);
for( var i=0; i < m ; i++){
mat[i] = new Array(n);
for( var j=0;j< n ;j++){
mat[i][j] = i*j;
document.writeln(mat[i][j]);
}
document.writeln("<br />");
}
</script>
</html>
答案 2 :(得分:0)
Javascript数组是动态的。它们将增长到您需要的尺寸。您可以调用db.getCollection('yourcollection').aggregate([
{ $unwind: "$stats" },
{
$group: {
_id: "$stats.year",
number:{$sum:"$stats.number"}
}
},
{
$group: {
_id: null,
stats:{ $push: {year:"$_id",number:"$number"}}
}
},
{
$project:{stats:1,_id:0}
}
])
向数组添加新元素。还值得注意的是,您应该避免在对象和数组中使用push()
关键字。对数组使用文字符号new
,对象使用[]
。因此,更好的解决方案是在需要时推送到阵列。
{}