Eu gostaria de usar console.log () para registrar mensagens sem acrescentar uma nova linha após cada chamada para console.log (). Isso é possível?
javascript
google-chrome
console
logging
MitchellSalad
fonte
fonte
console.clear()
e, por exemploconsole.log()
.Respostas:
Não, não é possível. Você terá que manter uma string e concatenar se quiser tudo em uma linha ou colocar sua saída em outro lugar (digamos, outra janela).
fonte
question
nãoconsole.log
. A questão também é sobre o console do navegador, não o Node.js.apply
.No NodeJS você pode usar process.stdout.write e adicionar '\ n' se quiser.
console.log(msg)
é equivalente aprocess.stdout.write(msg + '\n')
.fonte
Você pode colocar quantas coisas
arguments
quiser:console.log('hi','these','words','will','be','separated','by','spaces',window,document)
Você obterá toda a saída em uma linha com as referências de objeto embutidas e poderá então abrir seus inspetores a partir daí.
fonte
Sim, é possível (verifique a demonstração abaixo) - implementando seu próprio console virtual em cima do console do navegador nativo e sincronizando-o com o real.
Isso é muito mais fácil do que parece:
console.clear()
antes de escrever para apagar qualquer conteúdo anteriorconsole.log()
(ou avisar, erro, etc) para preencher o console com o conteúdo de seu buffer de exibiçãoNa verdade, já faço isso há algum tempo. Uma implementação curta e rudimentar da ideia seria algo nas seguintes linhas, mas ainda capaz de animar o conteúdo do console:
Com certeza tem suas desvantagens quando se mistura com a interação direta do console e pode definitivamente parecer feio - mas certamente tem seus usos válidos, que você não conseguiria sem ele.
fonte
A resposta curta é não.
Mas
Se o seu caso de uso envolver a tentativa de registrar dados que mudam perpetuamente, evitando o inchaço do console, uma maneira de conseguir isso (em certos navegadores) seria usar
console.clear()
antes de cada saída.Observe que isso provavelmente interromperia qualquer outra funcionalidade de registro que estivesse ocorrendo em seu aplicativo.
Aviso: Eu classificaria isso como um hack.
fonte
Se o seu único propósito é parar de imprimir em muitas linhas, uma maneira é agrupar os valores se você não quiser que eles ocupem todo o console
PS: - Veja o console do seu navegador para saída
console.group
console.groupCollapsed
fonte
Algo sobre a ideia @shennan:
Exibir trecho de código
fonte
colete sua saída em uma matriz e, em seguida, use a função de junção com um separador preferido
verifique também Array.prototype.join () para detalhes do modo
fonte
Você pode usar um operador de propagação para exibir a saída em uma única linha. O novo recurso do javascript ES6. veja o exemplo abaixo
Isso imprimirá de 1 a 10 tabelas em uma única linha.
fonte
se você quiser, por exemplo, elementos da matriz de log do console sem uma nova linha você pode fazer assim
fonte
fonte
A.forEach(row => console.log(row.join(' ')))