嵌套循环模式添加一些字符串

时间:2018-10-28 08:45:31

标签: javascript loops for-loop nested-loops pseudocode

每个人都可以帮助我找到该代码的伪代码,因为我想输出代码:

1****
12***
123**
1234*
12345

我想让输出中的星星没有语法或魔术效果,

我在此处编写的以下代码仅打印不带星号的

var num = 5;

for(var i = 1 ; i <= num ; i++){
       var str = "";
  for(var j = 1 ; j <= i ; j++){
          str += j
  };
  console.log(str)
};

2 个答案:

答案 0 :(得分:0)

检查str的长度和.repeat的星号5 - length的次数:

var num = 5;
for (var i = 1; i <= num; i++) {
  var str = "";
  for (var j = 1; j <= i; j++) {
    str += j
  };
  str += '*'.repeat(5 - str.length);
  console.log(str)
};

String.prototype.repeat是ES6,因此对于古老的浏览器,请使用polyfill或使用其他方法,例如new Array(6).join('*');

答案 1 :(得分:0)

您可以再添加一个循环以在循环后添加“ *”以打印数字

var num = 5;

for(var i = 1 ; i <= num ; i++){
  var str = "";
  for(var j = 1 ; j <= i ; j++){
    str += j
  };
  for(var k = j; k <= num; k++) {
   str += '*'
  }
  console.log(str)
};

或者您可以在for循环中使用条件,并让for内部从1迭代到num

var num = 5;

for(var i = 1 ; i <= num ; i++){
  var str = "";
  for(var j = 1 ; j <= num ; j++){
    str += j <= i ? j : '*'
  };
  console.log(str)
};