使用JS生成指定格式4行5列矩阵时输出结果异常问题排查
存在的问题
- 数值计算逻辑缺失行索引变量
i:你当前的计算规则仅用到了列索引j,完全没有引入行参数i做偏移计算,导致每一行输出的数值完全相同,和预期逐行变化的效果不一致。 - 输出方式错误:
console.log()方法每次调用都会自动换行,你逐个打印单个数值的写法会导致每个数单独占一行,无法实现同行多值的输出效果。
修正方案
调整数值计算逻辑,偶数列在基础值上叠加行索引实现向下递增,奇数列在基础值上减去行索引实现向下递减;同时先拼接好整行的内容再统一打印。
修正后代码如下:
const rowsNumber = 4; const columnsNumber = 5; for(let i = 0; i < rowsNumber; i++) { let rowContent = ''; for(let j = 0; j < columnsNumber; j++) { let currentNum; if(j % 2 === 0) { currentNum = rowsNumber * j + 1 + i; } else { currentNum = rowsNumber * (j + 1) - i; } rowContent += currentNum + ' '; } console.log(rowContent.trim()); }
运行输出结果:
1 8 9 16 17 2 7 10 15 18 3 6 11 14 19 4 5 12 13 20
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

