JavaScript如何在控制台将循环结果打印在同一行?
控制台循环输出换行问题解决方法
你当前代码的问题在于每次循环都调用console.log(),这个方法默认会在输出内容末尾添加换行符,所以每条天气信息都会单独占一行。
这里提供两种解决思路:
方案一:拼接字符串后一次性打印
先把所有需要输出的内容拼接成一个完整字符串,最后用一次console.log()输出,就能让所有内容显示在同一行:
const arr = [17, 21, 23]; function printForcast(arr) { let outputStr = ''; for (let i = 0; i < arr.length; i++) { const days = i + 1; // 直接简化days计算,无需多余判断 outputStr += `... ${arr[i]}°C in ${days} days `; } console.log(outputStr.trim()); // trim移除末尾多余空格 return arr; } printForcast(arr);
方案二:Node.js环境下使用process.stdout.write()
如果是在Node.js环境中,可以用process.stdout.write()替代console.log(),这个方法不会自动添加换行符:
const arr = [17, 21, 23]; function printForcast(arr) { for (let i = 0; i < arr.length; i++) { const days = i + 1; process.stdout.write(`... ${arr[i]}°C in ${days} days `); } console.log(); // 最后手动添加换行,避免后续输出混乱 return arr; } printForcast(arr);
内容的提问来源于stack exchange,提问作者coochie
相关产品推荐
相关产品推荐

