首页 > 解决方案 > 是否有替代 console.log() 的方法,它可以让您打印并更新一行而不是向控制台发送垃圾邮件?

问题描述

我正在寻找一种打印给定变量 f.ex 的方法。每次迭代的 for 循环的 i ,没有它会导致整个控制台被新值的新行填充。有没有控制台。仅打印一行并在​​我们进行时更新的方法?

我意识到你可以通过在你的程序中实现一个文本字段来做到这一点,你可以在每次迭代中更改它,但是如果在控制台中有一种方法可以做到这一点,它会更容易一些(也许更快?虽然我是真的不确定)。提前致谢。

如果我仍然对我的要求感到困惑,我想要的是我的控制台打印出:“i =” i 一次,然后更新那一行中的 i,而不是:

i=1
i=2
i=3
1=4
.
.
.

你去的时候真的很乱。对于 for 循环中 i 的确切示例,您可以从 console.log() 中获取此值,每次迭代都使用相同的内容,并且旁边会弹出一个数字(无论如何在 firefox 中),但我会希望能够通过一些更有用的信息来做到这一点。

标签: javascript

解决方案


选项 1:使用console.groupCollapsed()console.groupEnd()

    console.groupCollapsed();
    for (let i = 0; i < 100; i+= 1) { console.log(`i = ${i}`) }
    console.groupEnd();

选项 2:在数组或字符串中设置值并在迭代完成时记录 var:

    let valuesToLog = [];
    for (let i = 0; i < 100; i+= 1) { valuesToLog.push(`i = ${i}`) }
    // see it as an array
    console.log(valuesToLog);
    // see it as a string, with each value separated by ', '
    console.log(valuesToLog.join(', '));

推荐阅读