Ich möchte console.log () verwenden, um Nachrichten zu protokollieren, ohne nach jedem Aufruf von console.log () eine neue Zeile anzuhängen. Ist das möglich?
javascript
google-chrome
console
logging
MitchellSalad
quelle
quelle
console.clear()
und, zconsole.log()
.Antworten:
Nein, es ist nicht möglich. Sie müssen eine Zeichenfolge beibehalten und verketten, wenn Sie alles in einer Zeile haben möchten, oder Ihre Ausgabe an einer anderen Stelle platzieren (z. B. in einem anderen Fenster).
quelle
question
ist nichtconsole.log
. Die Frage betrifft auch die Browserkonsole, nicht Node.js.apply
.In NodeJS können Sie process.stdout.write verwenden und bei Bedarf '\ n' hinzufügen.
console.log(msg)
ist äquivalent zuprocess.stdout.write(msg + '\n')
.quelle
Sie können so viele Dinge
arguments
eingeben, wie Sie möchten:console.log('hi','these','words','will','be','separated','by','spaces',window,document)
Sie erhalten die gesamte Ausgabe in einer Zeile mit den Objektreferenzen inline und können dann die Inspektoren von dort aus ablegen.
quelle
Ja, es ist möglich (siehe Demo unten) - indem Sie Ihre eigene virtuelle Konsole über der nativen Browserkonsole implementieren und dann mit der realen Konsole synchronisieren.
Das ist viel einfacher als es sich anhört:
console.clear()
vor dem Schreiben an, um frühere Inhalte zu löschenconsole.log()
(oder warnen, Fehler usw.) auf, um die Konsole mit dem Inhalt Ihres Anzeigepuffers zu füllenEigentlich mache ich das schon seit einiger Zeit. Eine kurze, rudimentäre Umsetzung der Idee wäre in etwa so, könnte aber dennoch den Konsoleninhalt animieren:
Es hat sicherlich seine Nachteile beim Mischen mit direkter Konsoleninteraktion und kann definitiv hässlich aussehen - aber es hat sicherlich seine gültigen Verwendungen, die Sie ohne es nicht erreichen könnten.
quelle
Die kurze Antwort lautet nein.
Aber
Wenn Ihr Anwendungsfall den Versuch beinhaltet, sich ständig ändernde Daten zu protokollieren und dabei das Aufblähen der Konsole zu vermeiden, besteht eine Möglichkeit, dies (in bestimmten Browsern) zu erreichen, darin, sie
console.clear()
vor jeder Ausgabe zu verwenden.Beachten Sie, dass dies wahrscheinlich alle anderen Protokollierungsfunktionen Ihrer Anwendung beeinträchtigen würde.
Haftungsausschluss: Ich würde dies als Hack klassifizieren.
quelle
Wenn Sie nur das Drucken in vielen Zeilen beenden möchten, können Sie die Werte gruppieren, wenn Sie nicht möchten, dass sie Ihre gesamte Konsole füllen
PS: - Siehe Browser-Konsole für die Ausgabe
console.group
console.groupCollapsed
quelle
Etwas über die @ shennan-Idee:
Code-Snippet anzeigen
quelle
Sammeln Sie Ihre Ausgabe in einem Array und verwenden Sie dann die Verknüpfungsfunktion mit einem bevorzugten Trennzeichen
Überprüfen Sie auch Array.prototype.join () für Details zum Modus
quelle
Sie können einen Spread-Operator verwenden, um die Ausgabe in einer einzelnen Zeile anzuzeigen. Die neue Funktion von Javascript ES6. siehe unten Beispiel
Dadurch werden 1 bis 10 Tabellen in einer Zeile gedruckt.
quelle
Wenn Sie beispielsweise Konsolenprotokoll-Array-Elemente ohne Zeilenumbruch möchten, können Sie dies tun
quelle
quelle
A.forEach(row => console.log(row.join(' ')))