【问题标题】:How to print on same line using console.log() in JavaScript?如何在 JavaScript 中使用 console.log() 在同一行打印?
【发布时间】:2025-11-21 19:00:02
【问题描述】:

我想在同一行使用循环打印一个列表 (var lst=[1,2,3,4,5])。我可以在 JavaScript 中做到这一点吗?

【问题讨论】:

  • console.log.apply(null, lst);.
  • @ANS:不,这将在单独的行/日志条目上打印列表的每个项目。
  • “打印”和“在同一行”是什么意思?预期的结果是什么?
  • console.log(JSON.stringify(lst))?
  • 在记录之前将消息构造为字符串。就这么简单。

标签: javascript logging


【解决方案1】:

你可以通过这样做来实现这一点。创建一个空字符串变量,然后将每个数组值连接到它,然后将其打印出来。这将起作用

 var lst = [1,2,3,4,5];
  var output = "";

for(var i =0; i <= lst.length; i++){
   output += lst[i] + " ";
}
console.log(output);

【讨论】:

    【解决方案2】:

    Console.log 不允许您在同一行打印。但是,您尝试执行的任务可以使用以下方法完成:

    console.log(lst.join(" "))
    

    输出:1 2 3 4 5

    【讨论】:

      【解决方案3】:

      您可以使用Function#applyspread syntax ...

      var list = [1, 2, 3, 4, 5];
      
      console.log.apply(null, list); // traditional
      console.log(...list);          // ES6

      【讨论】:

        【解决方案4】:

        ECMAScript 没有指定console.log 的确切行为,因此它因实现而异,但它旨在用于记录事件。每个事件通常在 Web 浏览器的控制台窗口中变成一行这一事实导致它成为 Node.js 中的“println”等价物,但在特定实现的上下文之外,它的行为是不可预测的。

        您可以将多个参数传递给log,在这种情况下,大多数(但不是全部)实现会将它们全部打印在由空格分隔的同一行上。因此,如果您正在使用其中一种实现,并且您有一个列表并且只希望一行中的所有元素用空格分隔,则可以使用 apply 调用该方法,就好像列表中的每个元素都是一个单独的参数一样:

        console.log.apply(console, lst);
        

        警告:如果第一个参数是一个字符串,其中包含看起来像 Formatter 格式的控制序列(%s 等),它将被解析,其余参数用于填充这些插槽。

        但实现所需结果的最可靠方法是自己构建一个字符串来表示您希望最后一行的外观,然后将该字符串作为参数只调用一次console.log

        【讨论】:

        • 后者在 Safari 中也不会打印在一行上。事实上,可以说(尤其是在浏览器中),console.log 并没有真正为您提供太多关于它将如何处理任意(和多个)参数的保证。如果你想让某些东西在同一条“行”上,你应该给它一个字符串。
        【解决方案5】:

        在 NodeJS 中,只要您没有更改标准输出,您就可以使用 process.stdout.write("Something here"),因为您的应用程序的标准输出是终端(控制台)。

        process.stdout.write("Hello ")
        process.stdout.write("World")
        process.stdout.write("!")
        

        世界你好!

        【讨论】:

          【解决方案6】:

          您可以使用 join() 函数轻松完成此操作,该函数可用于 JavaScript 中的任何数组!

          例如:

          var lst = ["check","word","3","could","hello"]
          console.log(lst.join())
          

          源代码:
          https://jsfiddle.net/Lpdurxsb/

          【讨论】:

            最近更新 更多