使用JavaScript for循环生成逐行递增*表格 现有代码输出异常如何修改
JavaScript星号逐行递增输出代码修改方案
你的代码问题在于内层循环的终止条件固定为numColumns,导致每行输出的星号数量始终为固定值10,没有和当前行数做关联。
核心修改点
- 移除固定的
numColumns变量定义 - 将内层for循环的终止条件修改为
column <= row,使每行的星号数量和当前行数保持一致,实现逐行递增1的效果
修改后完整代码
let numRows = 5; let strRowOutput = ""; for (let row = 1; row <= numRows; row++) { for (let column = 1; column <= row; column++) { strRowOutput += "*"; } console.log(strRowOutput); strRowOutput = ""; }
运行输出效果(numRows=5时)
**
如果你需要设置最大列数限制,仅需要在循环判断中添加对应条件即可:
let numRows = 5; let maxColumns = 10; let strRowOutput = ""; for (let row = 1; row <= numRows; row++) { // 当行数超过最大列数时,最多输出maxColumns个星号 for (let column = 1; column <= Math.min(row, maxColumns); column++) { strRowOutput += "*"; } console.log(strRowOutput); strRowOutput = ""; }
内容的提问来源于stack exchange,提问作者Tatenda Nyakubaya
相关产品推荐
相关产品推荐

