JavaScript中的二维矩阵

时间:2014-11-13 20:36:03

标签: javascript arrays

给出以下数组:

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 = 
    }
} 

如何在具有以下格式的'textarea'中打印它们:

1 2 3
4 5 6
7 8 9

6 个答案:

答案 0 :(得分:1)

如果它不必是for循环,你也可以使用map

&#13;
&#13;
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>';
&#13;
<div id="someID"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

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

答案 2 :(得分:0)

像这样迭代每个想法:

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

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

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/

希望这会有所帮助!!

答案 3 :(得分:0)

所以也许像......

&#13;
&#13;
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;
&#13;
<div id="content">
  
</div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

要在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;

答案 5 :(得分:0)

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

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>";
}

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