web-dev-qa-db-ja.com

配列全体のダンプ:console.logおよびconsole.dirの出力 "... NUM more items]"

ターミナルにすばやくコピーできるように、長い配列を記録しようとしています。ただし、配列をログに記録しようとすると、次のようになります。

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

アレイ全体をログに記録して、すぐにコピーできるようにするにはどうすればよいですか?

34
Antoine

maxArrayLengthの設定

maxArrayLengthを設定する必要があるメソッドがいくつかあります。それ以外の場合はデフォルトで100になります。

  1. console.logまたはconsole.dirのオプションとしてオーバーライドを提供します

    console.log( myArry, {'maxArrayLength': null} );
    
  2. util.inspect.defaultOptions.maxArrayLength = null; を設定すると、console.logおよびutil.formatへのすべての呼び出しに影響します

  3. util.inspectを自分で options で呼び出します。

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

マイケル・ヘラインの答えは私にはうまくいきませんでしたが、近いバージョンではうまくいきました:

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

JSON.stringify()は私のニーズにはあまりにもく、一度に1つずつ印刷するためにコードを書く必要がなかったので、これが唯一の解決策でした。

7
Big Money

myArray.forEach(item => console.log(item))の何が問題になっていますか?

5
djones

オプションmaxArrayLengthが_console.dir_でもうまく機能することがわかりました。

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

3
Stanislav

_console.table_を使用

Node v10 +、 およびすべての最新のWebブラウザー で利用可能です。代わりにconsole.table()を使用できます。これにより、各行に美しいutf8テーブルが出力されます。配列の要素を表します。

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

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