0

I need to print an array of objects which can also contain arrays of objects.

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)

This code prints

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

an output in VSCode (Code Runner). But I need

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

What exactly am I missing? In the browser console works correctly, but I need it in VSCode. Thanks!

1 Answers1

0

Using console.dir instead of console.log shows you the objects properties as well.

The option depth: null is needed for unlimited depth.

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.dir(courses, {depth: null})

Output in VSCode terminal:

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

Tested with VSCode version 1.71.0

Geshode
  • 3,600
  • 6
  • 18
  • 32