4 回答
TA贡献1784条经验 获得超7个赞
使用字符串的解决方案
:
let html = "";
for (let i = 1; i < 11; i++) {
for (let j = 1; j < 11; j++) {
html += String(i * j).padStart(3, " ") + " ";
}
html += "<br>";
}
document.getElementById("output").innerHTML = html.replace(/ /g, " ");
#output {
font-family: monospace;
}
<output id="output"></output>
TA贡献1895条经验 获得超7个赞
用
<pre> 预格式化文本 元素
document.write("<pre>")
for (i = 1; i < 11; i++) {
for (j = 1; j < 11; j++) {
document.write(String(i * j).padStart(4, ' '))
}
document.write("<br>")
}
document.write("</pre>")
TA贡献1847条经验 获得超11个赞
此解决方案适用于 和 html 选项卡实体pre	
document.write("<pre>")
for (let i = 1; i < 11; i++) {
for (let j = 1; j < 11; j++)
document.write(i * j + "	")
document.write("<br>")
}
document.write("</pre>")
你可以用css控制空间:tab-size
* {
-moz-tab-size: 3em;
-o-tab-size: 3em;
tab-size: 3em;
}
TA贡献1886条经验 获得超2个赞
您的代码中存在几个问题:
您应该使用
<预>
(预格式化文本)标记您应该在 和 索引前面添加 一个,以将其本地范围缩小到
let
i
j
for
在循环中,如果将索引条件定义为(因为您正在计算从1到10的数字)而不是
for
<= 10
< 11
你需要一个前缀和一个后缀(为了在我的示例中构建前缀,我使用了一个函数)
document.write('<pre>');
for (let i = 1; i <= 10; i++) {
for (let j = 1; j <= 10; j++) {
let number = i * j;
let prefix = get_prefix(number);
let suffix = ' ';
document.write(prefix + number + suffix)
}
document.write('<br>')
}
document.write('</pre>');
function get_prefix(number) {
let prefix = '';
if (number < 100) {
prefix += ' ';
}
if (number < 10) {
prefix += ' ';
}
return prefix;
}
添加回答
举报