others - Chrome JavaScript开发者控制台:是否可以调用console.log()不使用换行符?

141 3

我希望使用console.log()记录消息,在每次调用console.log()后不必附加新行,是否有可能?

时间: 原作者:

127 5

在NodeJS中,你可以使用process.stdout.write,如果需要,可以添加'n'。

console.log(msg)process.stdout.write(msg +'n')等效。

原作者:
109 2

你可以根据需要在arguments中放置任意多的内容:

console.log('hi','these','words','will','be','separated','by','spaces',window,document)

原作者:
57 5

最短的答案是。


function writeSingleLine (msg) {



 console.clear();


 console.log(msg);



}



writeSingleLine('this');


setTimeout( function () { writeSingleLine('is'); }, 1000);


setTimeout( function () { writeSingleLine('a'); }, 2000);


setTimeout( function () { writeSingleLine('hack'); }, 3000);

注意,这破坏应用程序中的其他日志功能。

原作者:
126 3

可以做到,可以通过在本机浏览器控制台上实现你自己的虚拟控制台(查看下面的演示)-- 。

  • 维护显示缓冲区(例如,表示每个行的字符串数组
  • 在写入前调用console.clear()清除以前的内容
  • 调用console.log() (或警告,错误等)以便使用显示缓冲区中的内容填充控制台,


// =================================================


// Rudimentary implementation of a virtual console.


// =================================================



var virtualConsole = {


 lines: [],


 currentLine: 0,


 log: function (msg, appendToCurrentLine) {


 if (!appendToCurrentLine) virtualConsole.currentLine++;



 if (appendToCurrentLine && virtualConsole.lines[virtualConsole.currentLine]) {


 virtualConsole.lines[virtualConsole.currentLine] += msg;


 } else {


 virtualConsole.lines[virtualConsole.currentLine] = msg;


 }



 console.clear();



 virtualConsole.lines.forEach(function (line) {


 console.log(line);


 });


 },


 clear: function () {


 console.clear();


 virtualConsole.currentLine = 0;


 }


}



// =================================================


// Little demo to demonstrate how it looks.


// =================================================



// Write an initial console entry.


virtualConsole.log("Loading");



// Append to last line a few times.


var loadIndicatorInterval = setInterval(function () {


 virtualConsole.log(".", true); // <- Append.


}, 500);



// Write a new line.


setTimeout(function () {


 clearInterval(loadIndicatorInterval);


 virtualConsole.log("Finished."); // <- New line.


}, 8000);

它直接与控制台交互混合,它确实有缺点,而且看起来肯定很难看— —但是,它有它的有效用途,没有它就无法实现。

原作者:
68 0


function init(poolSize) {


 var pool = [];


 console._log = console.log;


 console.log = function log() {


 pool.push(arguments);


 while (pool.length > poolSize) pool.shift();



 draw();


 }


 console.toLast = function toLast() {


 while (pool.length > poolSize) pool.shift();


 var last = pool.pop() || [];


 for (var a = 0; a < arguments.length; a++) {


 last[last.length++] = arguments[a];


 }


 pool.push(last);



 draw();


 }


 function draw() {


 console.clear();


 for(var i = 0; i < pool.length; i++)


 console._log.apply(console, pool[i]);


 }


 }



 function restore() {


 console.log = console._log;


 delete console._log;


 delete console.toLast;


 }



 init(3);


 console.log(1);


 console.log(2);


 console.log(3);


 console.log(4); // 1 will disappeared here


 console.toLast(5); // 5 will go to row with 4


 restore();

原作者:
116 2

在数组中收集输出,然后将连接函数与首选分隔符一起使用,


function echo(name, num){


 var ar= [];


 for(var i =0;i<num;i++){


 ar.push(name);


 }


 console.log(ar.join(', '));


}



echo("apple",3)



检查array.prototype.join()以获得模式详细信息


var elements = ['Fire', 'Wind', 'Rain'];



console.log(elements.join());


// expected output: Fire,Wind,Rain



console.log(elements.join(''));


// expected output: FireWindRain



console.log(elements.join('-'));


// expected output: Fire-Wind-Rain



原作者:
110 4

你可以使用扩展运算符在单行中显示输出,javascript ES6的新特性。 参见下面的示例


 for(let i = 1; i<=10; i++){


 let arrData = [];


 for(let j = 1; j<= 10; j++){


 arrData.push(j+"X"+i+"="+(j*i));


 }


 console.log(...arrData);


 }



这将在单行中打印1到10表。

原作者:
102 3


let arr = new Array(10).fill(0)



console.groupCollapsed('index')



arr.forEach((val,index) => {


 console.log(index)


})



console.groupEnd()

console.group

console.groupCollapsed

原作者:
139 4

// Source code for printing 2d array


window.onload = function () {


 var A = [[1, 2], [3, 4]];


 Print(A);


}



function Print(A) {


 var rows = A.length;


 var cols = A[0].length;


 var line ="";


 for (var r = 0; r < rows; r++) {


 line ="";


 for (var c = 0; c < cols; c++) {


 line += A[r][c] +"";


 }


 console.log(line);


 }


}



原作者:
...