You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中打印含嵌套对象的数组显示[Object]的问题求助

问题描述

我需要打印包含嵌套对象数组的对象数组,编写了如下JavaScript代码:

var courses = new Array(1)
  .fill()
  .map(function (element, index) {
    return {
        id: 1,
        name: 'Name',
        grades: [
          { course_id: 1, grade: 2 },
          { course_id: 2, grade: 5 },
    ],
    }})

console.log(courses)

在VSCode的Code Runner中运行后,输出为:

[ { id: 1, name: 'Name', grades: [ [Object], [Object] ] } ]

但我需要的输出是完整的嵌套结构:

[ { id: 1, name: 'Name', grades: [ { course_id: 1, grade: 2 }, { course_id: 2, grade: 5 } ] } ]

该代码在浏览器控制台中能正常显示完整结构,请问该如何解决VSCode中的这个问题?

解决方法

方法1:使用console.dir()替代console.log()

console.dir()默认会展开显示嵌套对象的完整结构,添加depth: null参数可取消层级限制:

console.dir(courses, { depth: null });

方法2:使用JSON.stringify()转为格式化字符串输出

通过JSON.stringify()可以将对象转为完整的字符串形式,还能设置缩进提升可读性:

console.log(JSON.stringify(courses, null, 2));

参数说明:

  • 第二个参数null:不使用自定义替换函数
  • 第三个参数2:用2个空格缩进格式化输出

方法3:全局修改Node.js的检查器默认配置

如果希望所有console.log()都默认显示完整嵌套结构,可在代码开头添加以下语句:

require('util').inspect.defaultOptions.depth = null;

之后再调用console.log(courses)就能输出完整结构了。

内容的提问来源于stack exchange,提问作者Emil Mukaev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 17:45:31