JavaScript 中的乘法表
问题我有一个带有两个嵌套 for 循环的简单 JavaScript 乘法表:
var result = '\n';
for (var i = 1; i < 11; i++) {
for (var j = 1; j < 11; j++) {
result += (i*j) + ' ';
}
result += '\n'
}
第一个位置是 1,但我希望它以空的第一个位置或“X”开头。例如,这样 1*1 的结果也将如下所示
回答
var result = 'x ';
for (var i = 0; i < 11; i++) {
for (var j = 0; j < 11; j++) {
if(i == 0 && j > 0){
result += '[' + j + ']';
}
else if(j == 0 && i>0){
result += '[' + i + '] ';
}
else if(i>0 && j>0){
result += (i*j) + ' ';
}
}
result += '\n'
}
console.log(result);
输出:
x
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
var result = ' x ';
function buff(val){
var buff = '';
var pad = 4 - val;
while( pad-- > 0 )
buff += ' ';
return buff;
}
for (var i = 0; i < 11; i++) {
for (var j = 0; j < 11; j++) {
if(i == 0 && j > 0){
result += '[' + j + ']' + buff((j+'').length+2);
}
else if(j == 0 && i>0){
result += '[' + i + ']';
}
else if(i>0 && j>0){
result += buff((i*j+'').length ) + i*j;
}
}
result += '\n'
}
Output: x
1 2 3 4 5 6 7 8 910
2 4 6 8101214161820
3 6 912151821242730
4 81216202428323640
5101520253035404550
6121824303642485460
7142128354249566370
8162432404856647280
9182736455463728190
102030405060708090 100
页:
[1]