JS控制台打印对象时嵌套数组显示为[Array],如何完整展示结构?
解决控制台打印对象时数组内容折叠的问题
控制台默认会折叠嵌套较深的数组/对象,显示为[Array]或[Object],以下几种方法可以让你看到完整的结构:
方法1:使用console.dir指定显示深度
console.dir专门用于展示对象的详细结构,通过depth参数设置显示层级,设为null会展开所有嵌套内容:
console.dir(msg, { depth: null });
方法2:用JSON.stringify格式化输出
把对象转换成格式化的JSON字符串,能完整展示所有层级的内容:
console.log(JSON.stringify(msg, null, 2));
- 第三个参数
2用于设置缩进空格,让输出更易读;第二个参数null表示不需要过滤或转换对象属性。
方法3:全局修改Node.js的检查选项(仅Node环境)
如果是在Node.js环境下,可以全局调整util.inspect的默认深度,后续所有console.log都会展开完整结构:
const util = require('util'); util.inspect.defaultOptions.depth = null; console.log(msg);
使用上述方法后,你的msg对象会完整输出,比如用JSON.stringify的输出结果如下:
{ "personalizations": [ { "to": [ { "email": "dot@gmail.com" } ], "subject": "Hello World from the Personalization API!" }, { "to": [ { "email": "ke@gmail.com" } ], "subject": "Hello World from the Personalization API!" } ] }
内容的提问来源于stack exchange,提问作者Kennedy Daniel
相关产品推荐
相关产品推荐

