我正在尝试使用一个for循环打印一个倒置的直角三角形,而不使用"\n〃。这是我的代码:
function triangle(num) {
triangleStr = "";
for (let i = num; i > 0; i--)
{
triangleStr += "#";
console.log(triangleStr);
}
}
triangle(5);
1(您可以创建一个倒置的直角三角形,如下所示:
triangleStr = Array(i).fill("#").join("");
function triangle(num) {
triangleStr = "";
for (let i = num; i > 0; i--) {
triangleStr = Array(i).fill("#").join("");
console.log(triangleStr);
}
}
triangle(5);
2(您也可以使用递归实现以下结果:
function triangle(num) {
if (num === 0) return;
console.log(Array(num).fill("#").join(""));
triangle(num - 1);
}
triangle(5);
3(仅使用递归
function triangle(start, end) {
if (start > end) return;
triangle(start + 1, end);
console.log(Array(start).fill("#").join(""));
}
triangle(1, 5);
编辑:感谢TAHERElMehdi
建议使用repeat
作为的解决方案
您可以更换以上所有
Array(i).fill("#").join("");
带有
"#".repeat(i)
您的代码很好,只需去掉triangleStr
,并在for-loop
中用方法repeat
替换它。
function triangle(num) {
for (let i = num; i > 0; i--)
{
console.log("#".repeat(i));
}
}
triangle(5);
结果
#####
####
###
##
#