找回密码
 立即注册
resultvar乘法表buff | 软件设计/软件工程 2022-05-03 237 0star收藏 版权: . 保留作者信息 . 禁止商业使用 . 禁止修改作品
问题
我有一个带有两个嵌套 for 循环的简单 JavaScript 乘法表:
  1. var result = '\n';
  2. for (var i = 1; i < 11; i++) {
  3.     for (var j = 1; j < 11; j++) {
  4.         result += (i*j) + ' ';
  5.     }
  6.     result += '\n'
  7. }
复制代码

第一个位置是 1,但我希望它以空的第一个位置或“X”开头。例如,这样 1*1 的结果也将如下所示

回答
  1. var result = 'x ';
  2. for (var i = 0; i < 11; i++) {

  3.     for (var j = 0; j < 11; j++) {

  4.         if(i == 0 && j > 0){
  5.           result += '[' + j + ']';
  6.         }
  7.         else if(j == 0 && i>0){
  8.           result += '[' + i + '] ';
  9.         }
  10.         else if(i>0 && j>0){
  11.         result += (i*j) + ' ';
  12.         }
  13.     }
  14.     result += '\n'
  15. }

  16. console.log(result);

  17. 输出:

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

  29. var result = ' x   ';

  30. function buff(val){
  31.   var buff = '';
  32.   var pad = 4 - val;
  33.     while( pad-- > 0 )
  34.             buff += ' ';            
  35.   return buff;
  36. }

  37. for (var i = 0; i < 11; i++) {

  38.     for (var j = 0; j < 11; j++) {

  39.         if(i == 0 && j > 0){
  40.           result += '[' + j + ']' + buff((j+'').length+2);
  41.         }
  42.         else if(j == 0 && i>0){
  43.           result += '[' + i + ']';
  44.         }
  45.         else if(i>0 && j>0){
  46.         result += buff((i*j+'').length ) + i*j;
  47.         }
  48.     }
  49.     result += '\n'
  50. }
  51. Output: x   [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
  52. [1]   1   2   3   4   5   6   7   8   9  10
  53. [2]   2   4   6   8  10  12  14  16  18  20
  54. [3]   3   6   9  12  15  18  21  24  27  30
  55. [4]   4   8  12  16  20  24  28  32  36  40
  56. [5]   5  10  15  20  25  30  35  40  45  50
  57. [6]   6  12  18  24  30  36  42  48  54  60
  58. [7]   7  14  21  28  35  42  49  56  63  70
  59. [8]   8  16  24  32  40  48  56  64  72  80
  60. [9]   9  18  27  36  45  54  63  72  81  90
  61. [10]  10  20  30  40  50  60  70  80  90 100
复制代码






上一篇:如何复制或连接两个字符*
下一篇:引用 - 这个符号在 PHP 中是什么意思?