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



我想使用同一行上的循环打印一个列表(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);

在nodejs中,只要您不更改标准输出,就可以使用 process.stdout.write("Something here"),因为应用程序的标准输出为终端(Console(。

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

你好世界!

console.log不允许您在同一行中打印。但是,您可以使用以下操作完成的任务:

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

输出:1 2 3 4 5

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

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

console.log的确切行为不是由ecmascript指定的,因此它因实现而异,但旨在用于记录事件。每个事件通常变成Web浏览器的控制台窗口中的一行,这一事实使其成为" println"的node.js等效,但是在特定实现的上下文之外,其行为是无法预测的。

您可以将多个参数传递给log,在这种情况下,大多数(但并非全部(实现将在由Whitespace隔开的同一条线上打印出来。因此,如果您正在使用其中一个实现方法,并且您有一个列表,并且只需要使用空间分隔的一行上的所有元素,则可以使用apply调用该方法,就好像列表的每个元素都是一个单独的参数:

console.log.apply(console, lst);

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

但是,实现所需结果的最可靠方法是自己构建一个单个字符串,代表您想要的最终行的外观,然后用该字符串将console.log完全调用。

您可以使用join()函数可以轻松地进行操作,该功能可在JavaScript中的任何数组中使用!

例如:

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

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

最新更新