每个人都可以帮助我找到该代码的伪代码,因为我想输出代码:
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)
};
答案 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)
};