簡體   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