[英]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.