如何用JavaScript for循环实现10×10规整乘法表输出
解决10×10乘法表的格式化输出问题
问题分析
你当前的代码把所有乘法结果拼接成了一串连续文本,没有在每个乘数对应的10个计算结果后添加换行,所以输出是长串数字。要实现10行10列的格式,核心是每完成一个乘数的10次计算后,添加换行符,同时可以优化代码结构避免全局变量依赖。
修正你的现有代码
在tables函数的for循环结束后,给locationTables添加换行符即可,另外可以用制表符\t代替空格,让列对齐更美观:
let multiplier = 1; let locationTables = ''; const tables = function tables(){ for(let y=1; y<= 10; y++){ let multiplication = y*multiplier; locationTables += multiplication + '\t'; }; // 每一行结束后添加换行 locationTables += '\n'; return multiplier +=1; } const factory = function factory(f){ while(multiplier <= 10){ f(); } } factory(tables); console.log(locationTables);
更简洁的实现方式(推荐)
直接用嵌套循环生成10×10乘法表,无需全局变量,逻辑更清晰:
function generateMultiplicationTable() { let table = ''; // 外层循环控制乘数(1-10) for (let i = 1; i <= 10; i++) { // 内层循环控制被乘数(1-10) for (let j = 1; j <= 10; j++) { table += `${i * j}\t`; } // 每行结束后换行 table += '\n'; } return table; } console.log(generateMultiplicationTable());
输出效果示例
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 ... 10 20 30 40 50 60 70 80 90 100
内容的提问来源于stack exchange,提问作者Jupaba
相关产品推荐
相关产品推荐

