繁体   English   中英

如何在 JavaScript 中使用 console.log() 在同一行打印?

[英]How to print on same line using console.log() in JavaScript?

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

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

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

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

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

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

输出:1 2 3 4 5

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

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

console.log.apply(console, lst);

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

但实现预期结果的最可靠方法是自己构建一个字符串,代表您希望最后一行的外观,然后使用该字符串作为参数调用console.log一次。

您可以使用Function#apply传播语法...

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

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

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

你好,世界!

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

例如:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM