JavaScript中如何用单个for循环实现无需\n的倒直角三角形打印
解决方案
你当前的代码逻辑是逐次向字符串追加#字符,所以输出的是长度递增的正直角三角形,和预期的倒序效果相反。调整后的代码如下:
function triangle(num) { // 单个for循环,从num递减到1 for (let i = num; i > 0; i--) { // 直接生成对应长度的#字符串并打印,无需使用\n转义字符 console.log('#'.repeat(i)); } } triangle(5);
调用triangle(5)时会输出符合要求的倒直角三角形:
##### #### ### ## #
如果需要兼容不支持String.prototype.repeat的老旧运行环境,可以把打印逻辑替换为数组拼接写法,整体逻辑不变:
console.log(new Array(i + 1).join('#'));
内容的提问来源于stack exchange,提问作者PalesaDev
相关产品推荐
相关产品推荐

