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