我有一个javascript问题,我想制作一个类似的三角形
*
**
***
****
*****
这是我的代码,它使反方向
for(let i = 0;i<=5;i++){
let str = "";
for(let j = 0;j<i;j++){
str += "*";
}
console.log(str)
}
我想用for循环使这个三角形向下波纹,而不是用";重复";。
for(let i = 0;i<=5;i++){
let str = "";
str = " ".repeat(5-i);
str2 = "*".repeat(i);
console.log(str+str2);
}
您可以使用带有三元运算符的for循环
for (let i = 0; i <= 5; i++) {
let str = "";
for (let j = 0; j <= 5; j++) {
str += j < 5 - i ? " " : "*";
}
console.log(str);
}
使用padStart
方法
for (let i = 0; i <= 5; i++) {
let str = "";
for (let j = 0; j < i; j++) {
str += "*";
}
console.log(str.padStart(5, " "));
}
进一步简化为一行
for (let i = 0; i <= 5; i++) {
console.log('*'.repeat(i).padStart(5, " "));
}
你可以这样写:
for(let i = 0;i<=5;i++){
let str = "";
for(let j = i;j<5;j++){
str += " ";
}
for(let j = 0;j<i;j++){
str += "*";
}
console.log(str)
}
这个方法可以在所有其他编程语言中使用,因为没有特殊的js语法或特殊的js内置函数。