控制台日志阵列的当前LTS版本(v12.13.0),其长度> = 7,带有换行符,如何将它们重新记录到一行中?"/>
节点控制台日志阵列的当前LTS版本(v12.13.0),其长度> = 7,带有换行符,如何将它们重新记录到一行中?
我主要使用console.log在2D数组中打印一堆数字,但是在将节点更新为当前LTS版本(v12.13.0)之后,它现在使用换行符记录该数组。
作为比较:
// LTS v10
[ 1, 2, 3, 4, 5, 6, 7 ]
[
[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 7]
]
// LTS v12
[
1, 2, 3, 4,
5, 6, 7
]
[
[
1, 2, 3, 4,
5, 6, 7
],
[
1, 2, 3, 4,
5, 6, 7
],
[
1, 2, 3, 4,
5, 6, 7
],
[
1, 2, 3, 4,
5, 6, 7
]
]
我如何“修复”此问题?
PS:我不知道这是否重要,但我在git bash,Windows上
回答如下:console.log
使用util.inspect
格式化和显示数据值。 util.inspect
执行的格式化由collection of options控制,并且在节点v12中,其中某些选项的默认值已更改。
特别是,compact
选项的默认值从true
更改为3
(比较v10 default options上方链接中的该选项)。这就是为什么数组现在分成多行的原因。
我现在没有方便的v12安装来进行测试,但是我相信您可以通过将compact
对象中的true
选项改回util.inspect.defaultOptions来恢复v10的行为。只要做:
util.inspect.defaultOptionspact = true;
console.log
数组之前在程序中的某个位置。稍后,我将尝试寻找时间来安装v12,以检查是否可行。
如果该方法不起作用,那么您可能还必须调整其他一些选项。 breaklength
选项将是一个不错的选择。在最坏的情况下,您可能必须创建一个具有所需检查选项的Console
单独实例,然后在该新实例(而不是全局log
实例)上调用console
方法以显示您的数组。
更多推荐
节点控制台日志阵列的当前LTS版本(v12.13.0),其长度> = 7,带有换行符,如何将它们重新记录到一行中?
发布评论