3

When I console.log an array who contains objects in VS code terminal,

console.log(`new array is ${state.chats}`);

I get a result like that :

new array is [object Object],[object Object],[object Object],[object Object]

Instead of normal tree where you can see the objects inside like in Chrome Dev Tools :

new array is: [
{ sender: "joseph", message: "my text" },
{ sender: "daniel", message: "my text" },
{ sender: "joseph", message: "my text" }
]

Any way to "fix"/modify this behavior?

apollo24
  • 303
  • 4
  • 16

2 Answers2

3

VS Code's terminal uses a command line program like cmd.exe, powershell etc, these tools just put out the string values of your provided variable.

For { sender: "joseph", message: "my text" } that would be [object Object]

One way to get the data as asked would be to convert it to a string with JSON.stringify.

console.log(`new array is ${JSON.stringify(state.chats})`);

Jelle Bruisten
  • 421
  • 6
  • 11
  • 2
    Thank you, got it and working. Minor syntax fix: console.log(`new array is (${JSON.stringify(state.chats)})`); – apollo24 Jan 30 '20 at 12:40
0

You must search by print array of objects in js. At these link stay your answer (How to print object array in JavaScript?) you can use JSON.stringify(yourarray).

For more information about go to: https://developer.mozilla.org/ca/docs/Web/JavaScript/Referencia/Objectes_globals/JSON/stringify

var test = [{name:"pepe",age:21},{name:"juan",age:11},
            {name:"aurelio",age:31},{name:"evaristo",age:55},
            {name:"fermin",age:35}];
console.log(JSON.stringify(test));
rioV8
  • 24,506
  • 3
  • 32
  • 49