Вывод всего массива: выводятся console.log и console.dir "... NUM more items]"
Я пытаюсь зарегистрировать длинный массив, чтобы скопировать его в моем терминале. Однако, если я попробую и зарегистрирую массив, он выглядит так:
['item',
'item',
>>more items<<<
... 399 more items ]
Как я могу зарегистрировать весь массив, чтобы скопировать его очень быстро?
Ответы
Ответ 1
Установка maxArrayLength
Есть несколько методов, каждый из которых требует установки maxArrayLength
который по умолчанию maxArrayLength
100.
-
Предоставьте переопределение в качестве опции для console.log
или console.dir
console.log( myArry, {'maxArrayLength': null} );
-
Установите util.inspect.defaultOptions.maxArrayLength = null;
что повлияет на все вызовы console.log
и util.format
-
Вызов util.inspect
себя с опциями.
const util = require('util')
console.log(util.inspect(array, { maxArrayLength: null }))
Ответ 2
Что случилось с myArray.forEach(item => console.log(item))
?
Ответ 3
Доступный в Node v10+ и во всех современных веб-браузерах, вы можете вместо этого использовать console.table()
, который выведет красивую таблицу utf8, где каждая строка представляет элемент массива.
> console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
┌─────────┬─────┐
│ (index) │ a │
├─────────┼─────┤
│ 0 │ 1 │
│ 1 │ 'Z' │
└─────────┴─────┘
Ответ 4
Только что обнаружил, что опция maxArrayLength
хорошо работает и с console.dir
:
console.dir(array, {depth: null, colors: true, maxArrayLength: null});
Ответ 5
Если вам нужны только элементы:
for(i = 0; i < array.length; i++)
console.log(array[i]);
Если вы хотите также скопировать скобки и запятые:
console.log("[");
var i; // inportant to be outside
for(i = 0; i < array.length - 1; i++)
console.log(array[i] + ",");
console.log(array[i] + "]");
Ответ 6
Вот решение, которое я тестировал в Chrome и Firefox:
var a = Array(400).fill("'item'");
console.log('[' + a + ']');
Ответ 7
Ответ Михаэля Хеллейна у меня не сработал, но близкая версия сработала
console.dir(myArray, {'maxArrayLength': null})
Это было единственное решение, которое сработало для меня, так как JSON.stringify()
был слишком уродлив для моих нужд, и мне не нужно было писать код, чтобы распечатать его по одному.
Ответ 8
Ужасно, но это будет работать:
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))
Желание было сделать это в родном node.