gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 00:38:08 27 4
gpt4 key购买 nike

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

   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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com