шаблон вложенного цикла добавить несколько строк - PullRequest
0 голосов
/ 28 октября 2018

каждый может помочь мне найти псевдокод этого кода, потому что я хочу вывести код:

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 голосов
/ 28 октября 2018

Вы можете добавить еще один цикл для добавления '*' после цикла для печати чисел

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)
};
0 голосов
/ 28 октября 2018

Проверьте длину звездочек 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('*');

...