javascript - Node.js - console.log 不显示数组中的项目而是显示 [Object]

标签 javascript arrays node.js object console.log

我在注销对象内数组的内容时遇到问题。实际对象看起来像这样

   var stuff = { accepted: [ 'item1', 'item2' ],
         rejected: [],
         response: 'Foo',
         envelope: { from: 'The sender', to: ['new item1', 'new item2'] },
         messageId: 'xxxxxxxxxxxxx' } }

console.log 很好地显示了第一个数组的项目,但第二个数组被输出为 [Object]

 { accepted: [ 'item1', 'item2' ],
             rejected: [],
             response: 'Foo',
             envelope: { from: 'The sender', to: [Object] },
             messageId: 'xxxxxxxxxxxxx' } } 

这里发生了什么以及如何在我 console.log 时显示第二个数组的项目。感谢您的帮助!

更新

抱歉,我忘了补充一点,我只在 Node.js 中工作,所以它是一个服务器端日志,需要准确显示从回调中接收到的对象,使用直接 console.log , IE。没有进一步的字符串化。

我也只是尝试创建另一个具有类似结构的随机对象。

 var objText = {
      fun: {
        stuff: 'Some stuff',
        list: ['this', 'it', 'takes']
      }
    };

上面的 console.log 是:

{ fun: { stuff: 'Some stuff', list: [ 'this', 'it', 'takes' ] } }

这对我来说似乎是相同的结构,但是 console.log 工作正常,所以它似乎完全有可能在 Node 中记录数组内容,即使它嵌入内部并且对象内部外部对象。

最佳答案

看来这是个老话题了

我遇到过同样的问题,嵌入式数组打印为 [Array]

是因为node.js中的console.log使用util.inspect进行打印,默认深度为2。 因此,要打印比以下 2 个更深的内容,可以使用:

const util = require('util')
console.log(util.inspect(errors, true, 10))

关于javascript - Node.js - console.log 不显示数组中的项目而是显示 [Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44444601/

相关文章:

javascript - Observable.create() 函数的参数是否必须显式定义观察者?

c - 如何用 C 中的数组解决这个问题?

php - Laravel 中 NPM、Composer 和 Bower 的区别?

javascript - 在 Node.js 中无需重启服务器即可更新文件

javascript - JavaScript 中的正则表达式,用于在字符串中找到的第一个 SUM/MIN/MAX/AVG

javascript - 连接对象中的两个值

node.js - node.js 中的 Twilio 短信回复

node.js - 无法解析 'sha1'

javascript - 如何在 WebSocket javascript 中发布请求 header cookie

javascript - 如何显示预加载在二维数组中而不是占位符的图像切片?