所以,让我先说我对Javascript没有多少经验。如果有人能给我一个基本的解释,那就太好了。
无论如何,我想采用二维矩阵并将其打印在屏幕上。到目前为止,这是我的代码:
function matrixToString(arr) {
returnString = "";
for (var i = 0; i < arr.length; i++){
for (var j = 0; j < arr[i].length; j++){
returnString += Math.round(arr[i][j]*10000)/10000 + ' ';
}
returnString += "\n";
}
return returnString
}
因此,当我致电alert(matrixToString(n))
时,它会按预期工作。但是,当我使用document.write(matrixToString(n))
时,它基本上将所有内容放在一行上并打印该行。如果我将字符串放入div并附加div,则同样适用。
我想我的问题基本上是如何在JavaScript中将多行输出放到HTML中。
答案 0 :(得分:0)
document.write
已过时,因此请尝试直接操作DOM。
例如:
<div id="demo"></div>
<强> JS:强>
document.getElementById('demo').innerHTML = matrixToString(n);
另请参阅此answer,
这取决于你对文字做了什么,但我的猜测是你 将其渲染为Html。在这种情况下,您应该使用
<br />
标记 而不是\ n。
所以请使用returnString += "<br />";
来解决您的问题。
答案 1 :(得分:0)
只需用“br”替换\ n 像这样
function matrixToString(arr) {
returnString = "";
for (var i = 0; i < arr.length; i++){
for (var j = 0; j < arr[i].length; j++){
returnString += Math.round(arr[i][j]*10000)/10000 + ' ';
}
returnString += "<br>";
}
return returnString
}
这适用于我的案例
答案 2 :(得分:0)
您的多线要求仅用于演示目的吗?如果是这样,那么你只需要在每一行的末尾添加“
”。呈现HTML时,'\ n'不起作用。而只是替换:
returnString += "\n";
与
returnString += "<br/>";