web-dev-qa-db-de.com

Gesamtes Array ausgeben: console.log und console.dir geben "... NUM weitere Elemente] aus"

Ich versuche, ein langes Array zu protokollieren, damit ich es schnell in mein Terminal kopieren kann. Wenn ich jedoch versuche, das Array zu protokollieren, sieht es folgendermaßen aus:

['item',
 'item',
  >>more items<<<
  ... 399 more items ]

Wie kann ich das gesamte Array protokollieren, damit ich es sehr schnell kopieren kann? 

21
Antoine

maxArrayLength einstellen

Es gibt einige Methoden, für die alle die Einstellung maxArrayLength erforderlich ist, die ansonsten auf 100 eingestellt ist.

  1. Geben Sie die Überschreibung als Option für console.log oder console.dir an.

    console.log( myArry, {'maxArrayLength': null} );
    
  2. Stellen Sie util.inspect.defaultOptions.maxArrayLength = null; ein. Dies wirkt sich auf alle Aufrufe von console.log und util.format aus.

  3. Rufen Sie util.inspect selbst mit options auf.

    const util = require('util')
    console.log(util.inspect(array, { maxArrayLength: null }))
    
34
Michael Hellein

Wir haben gerade festgestellt, dass die Option maxArrayLength auch mit console.dir Gut funktioniert:

console.dir(array, {depth: null, colors: true, maxArrayLength: null});

3
Stanislav

Was ist los mit myArray.forEach(item => console.log(item))?

2
djones

Verwenden von console.table

In Node v10 +, und allen modernen Web-Browsern verfügbar, können Sie stattdessen console.table() verwenden, die eine schöne utf8-Tabelle ausgibt, in der jede Zeile ein Element des Arrays darstellt.

> console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);

┌─────────┬─────┐
│ (index) │  a  │
├─────────┼─────┤
│    0    │  1  │
│    1    │ 'Z' │
└─────────┴─────┘
2
squiroid

Die Antwort von Michael Hellein funktionierte nicht für mich, aber eine nahe Version tat es:

console.dir(myArray, {'maxArrayLength': null})

Dies war die einzige Lösung, die für mich funktionierte, da JSON.stringify() für meine Bedürfnisse zu hässlich war und ich keinen Code schreiben musste, um ihn einzeln auszudrucken.

1
Big Money