2017-10-26 1 views
0

So habe ich eine Reihe von „Sitzungen“:Wie die Werte eines Arrays drucken, das in einem anderen Reihe von „[object]“ insted

var sessions = []; 

function Session(title, speaker) { 
    this.title = title; 
    this.speaker = speaker; 
    this.id = nextId; 
    this.ratings = []; 
    this.currentRatingId = 0; 
    this.currentSessionState = SessionState.Created; //SessionState is an enum 
} 

und die Sitzung hat eine Reihe von Bewertungen:

function Rating(evaluator,ratingValue) { 
    this.ratingId; 
    this.ratingValue = ratingValue; 
    this.evaluator = evaluator; 
    this.evaluatedSession; 
} 

Wenn ich mein "Sitzungen" Array drucke ich das zum Beispiel:

[Session { 
title: 'Javasession', 
speaker: 'JavaSpeaker ', 
id: 1, 
ratings: [[Object], [Object]], 
currentRatingId: 2, 
currentSessionState: 2 
}, 
Session { 
    title: 'C#Session', 
    speaker: 'C#Speaker', 
    id: 2, 
    ratings: [[Object]], 
    currentRatingId: 1, 
    currentSessionState: 2 
}] 

Wie Sie das Array sehen, die in dem Array "Session" ist druckt die Objekte nicht. Es druckt nur "[Objekt]" ..

Ist es irgendwie möglich, die Werte jedes Arrays zu drucken, das in einem anderen Array ist, ohne irgendwelche Schleifen zu verwenden (für, foreach) ....?

+0

könnten Sie versuchen, 'console.log (JSON.stringify (Sitzungen));' –

+0

@JochenBedersdorfer hanks es funktioniert. Aber das "Problem" ist, dass es nicht sehr "nett" druckt. es druckt nur alles in einer Zeile, was es ziemlich unlesbar macht – KeyNavas

+0

try 'console.log (JSON.stringify (Sitzungen, null, ''))' –

Antwort

0

Sie console.dir() in Browser verwenden können.

const arr = [ 
 
    { 
 
    subArr: [ 
 
     { 
 
      subSubArr:[ 
 
      { 
 
       a:1 
 
      } 
 
      ] 
 
     } 
 
    ] 
 
    } 
 
]; 
 
console.dir(arr, { depth: null });

1

Sie können JSON#stringify Methode verwenden, um es als string zu drucken.

Beispiel:

const arr = [ 
 
    { 
 
    subArr: [ 
 
     { 
 
      subSubArr:[ 
 
      { 
 
       a:1 
 
      } 
 
      ] 
 
     } 
 
    ] 
 
    } 
 
]; 
 
const res = JSON.stringify(arr); 
 
console.log(res);

+0

und wenn Sie wollen, dass es mit Formatierung gedruckt wird, können Sie 'JSON.stringify (arr , null, 2); ' –

+0

@MohamedAbbas danke, es funktioniert. Aber das "Problem" ist, dass es nicht sehr "nett" druckt. es druckt nur alles in einer Zeile, was es ziemlich unlesbar macht – KeyNavas

+0

@KeyNavas Sie sind willkommen, Sie müssen möglicherweise 'null, 2' Werte als @Andrew Lohr erwähnt. Ihr Code lautet also: const res = JSON.stringify (arr, null, 2); –

0

können Sie console.dir verwenden mit { depth: null }

ein vereinfachtes Array:

let sessions = [ Session: { ratings: [ {Rating: 1}, {Rating: 2} ] } ]; 

Lauf console.log(sessions); Ergebnisse in:

[ { Session: { ratings: [Object] } } ] 

Lauf console.dir(sessions, { depth: null}) Ergebnisse in:

[ { Session: { ratings: [ { Rating: 1 }, { Rating: 2 } ] } } ] 
Verwandte Themen