JavaScript中的乘法表

时间:2017-01-04 13:57:39

标签: javascript loops

我在JavaScript中有一个简单的乘法表,有两个嵌套的for循环:

var result = '\n';
for (var i = 1; i < 11; i++) {
    for (var j = 1; j < 11; j++) {
        result += (i*j) + ' ';
    }
    result += '\n'
}

See screenshot of browser console results

第一个位置是1,但我希望它以空的第一个位置开头,或者例如“X”,这样1 * 1的结果也会显示在这里

Screenshot of desired result

3 个答案:

答案 0 :(得分:5)

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]
[1] 1 2 3 4 5 6 7 8 9 10 
[2] 2 4 6 8 10 12 14 16 18 20 
[3] 3 6 9 12 15 18 21 24 27 30 
[4] 4 8 12 16 20 24 28 32 36 40 
[5] 5 10 15 20 25 30 35 40 45 50 
[6] 6 12 18 24 30 36 42 48 54 60 
[7] 7 14 21 28 35 42 49 56 63 70 
[8] 8 16 24 32 40 48 56 64 72 80 
[9] 9 18 27 36 45 54 63 72 81 90 
[10] 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'
}

输出:

 x   [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
[1]   1   2   3   4   5   6   7   8   9  10
[2]   2   4   6   8  10  12  14  16  18  20
[3]   3   6   9  12  15  18  21  24  27  30
[4]   4   8  12  16  20  24  28  32  36  40
[5]   5  10  15  20  25  30  35  40  45  50
[6]   6  12  18  24  30  36  42  48  54  60
[7]   7  14  21  28  35  42  49  56  63  70
[8]   8  16  24  32  40  48  56  64  72  80
[9]   9  18  27  36  45  54  63  72  81  90
[10]  10  20  30  40  50  60  70  80  90 100

答案 1 :(得分:0)

document.write("<center><table border='1px'>");
for (var a = 1; a < 11; a++) {
  document.write("<tr style='height:40px'>");
  for (var b = 1; b < 11; b++) {
    document.write("<td style='width:40px'><center><font size='4'>" + a * b + "</center></font></td>");
  }
  document.write("</tr>");
}
document.write("</table></center>");

答案 2 :(得分:-1)

    var table = 5;
    var count = 12;
    
    for (var i = 0; i < count; i++) {
        i++;
        console.log(table, "X", i, "=", table * i);
        --i;
    }