我正在尝试记录一个长数组,以便我可以在终端中快速复制它。但是,如果我尝试记录数组,它看起来像:
['item',
'item',
>>more items<<<
... 399 more items ]
如何记录整个阵列,以便快速复制?
答案 0 :(得分:41)
maxArrayLength
有几种方法都需要设置maxArrayLength
,否则默认为100。
提供覆盖作为console.log
或console.dir
console.log( myArry, {'maxArrayLength': null} );
设置util.inspect.defaultOptions.maxArrayLength = null;
,这会影响对console.log
和util.format
的所有来电
使用options致电util.inspect
。
const util = require('util')
console.log(util.inspect(array, { maxArrayLength: null }))
答案 1 :(得分:3)
myArray.forEach(item => console.log(item))
出了什么问题?
答案 2 :(得分:3)
迈克尔·海伦(Michael Hellein)的答案对我不起作用,但封闭版本却可以:
console.dir(myArray, {'maxArrayLength': null})
这是唯一适用于我的解决方案,因为JSON.stringify()
太丑陋,无法满足我的需要,我不需要编写代码即可一次打印出来。
答案 3 :(得分:2)
console.table
在Node v10 +,and all modern web-browsers中可用,您可以使用console.table()
代替,它将输出一个漂亮的utf8表,其中每一行代表数组的一个元素。
> console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
┌─────────┬─────┐
│ (index) │ a │
├─────────┼─────┤
│ 0 │ 1 │
│ 1 │ 'Z' │
└─────────┴─────┘
答案 4 :(得分:2)
刚刚发现选项maxArrayLength
与console.dir
也很好:
console.dir(array, {depth: null, colors: true, maxArrayLength: null});
答案 5 :(得分:-3)
丑陋但这可行:
function createFullArrayString(array){
let string = '[';
for(const item of array){
string += `'${item}',\n`
}
string = string.substring(0, string.length - 2);
string += ']';
return string
}
console.log(createFullArrayString(array))
希望有一种方法可以在本机节点中执行此操作。