JavaScript 中的二维矩阵

2 dimensional matrix in JavaScript

本文关键字:二维 JavaScript      更新时间:2023-09-26

给定以下数组:

var list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

以及这些 for 循环:

for (i = 0; i < 3; i++) {
    for (j = 0; j < 3; j++) {
       document.getElementById("someID").innerHTML = 
    }
} 

我怎样才能在具有以下格式的"文本区域"中打印它们:

1 2 3
4 5 6
7 8 9

如果不一定

是循环,你也可以使用 map

var list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
    someId = document.getElementById( 'someID' );
someId.innerHTML = '<pre>' + list.map(function (row) {
    return row.join(' '); 
}).join('<br>') + '</pre>';
<div id="someID"></div>

所以也许像...

var list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var html = '';
for (i = 0; i < 3; i++) {
    for (j = 0; j < 3; j++) {
      html += list[i][j] + " ";               
    }
    html += '<br />';
} 
  
  document.getElementById("content").innerHTML = html;
<div id="content">
  
</div>

构造要在内部循环中输出的字符串,在外部循环之后,您使元素显示该字符串。

像这样的东西遍历每个想法:

添加<div id="someID"></div>

然后,不要硬编码 3,而是使用 list.length 和 list[i].length 然后执行以下操作:

var list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var temp = "";
for (i = 0; i < list.length; i++) {
    for (j = 0; j < list[i].length; j++) {
       temp+=list[i][j] + " ";
    }
    temp+="<br>";
} 
document.getElementById("someID").innerHTML = temp;

工作 JSFiddle: http://jsfiddle.net/0k1tf5wh/

希望这有帮助!!

要在div 中显示它,您需要将每一行包装在div 中,因为 HTML 如何处理空格:

参见: JSFiddle

var list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var html = '';
for (i = 0; i < list.length; i++) {
    html += list[i].join(' ');
}
document.getElementById('someID').innerHTML = html;

有很多方法可以做到这一点。

console.log将在大多数浏览器上每次调用打印一行。

如果您正在使用可以访问IO的环境(即:NodeJS),则可以使用换行符(''n')打印到文件。

在HTML中,您可以使用<br>标签,段落(<p>),也可以将每一行放在div中。例如,使用<br>您可以像这样执行此操作:

var list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
for (i = 0; i < list.length; i++) {
    document.getElementById("someID").innerHTML += list[i].join(" ") + "<br>";
}

请记住,外部数组的每个元素本身都是一个数组,因此您可以使用 Array 类型的 join 方法将它们打印为一个元素。