2016-08-29 2 views
1

Backend-Server gibt eine Sitzung mit einer Array-Objekt eingebettet ist, wenn ich es in der Konsole anmelden, bekomme ich diese:JS: Wie liest man ein Objekt-Array mit dynamischen Eigenschaften?

Object {sessions: Array[3]} 
    sessions: Array[3] 
     0: Object 
      data: Object 
      id: "22" 
      __proto__: Object 
     1: Object 
      data: Object 
      id: "23" 
      __proto__: Object 
     2: Object 
      data: Object 
      id: "48" 
      __proto__: Object 
     length: 3 
     __proto__: Array[0] 
    __proto__: Object 

so gibt es eine zusätzliche Schicht von Objekten mit dynamischen Eigenschaftsnamen ist 0,1,2 ...

aber ich muss ein reines Array von Objekten, wie folgt ausfüllen: [{ID: "22", Daten: Objekt}, {ID: "23", Daten: Objekt}, {ID : "48", data: Object}]

also würde ich darauf verweisen wie Sitzungen [0] .id ... Sitzungen [1] .data ... etc ..

Wie sollte ich Sitzungen neu formatieren, damit es so funktioniert, wie ich es wünsche?

+2

'var sessions = answer_f rom_server.sessions; '? – Ven

+0

* "Es gibt eine zusätzliche Ebene von Objekten mit dynamischen Eigenschaftsnamen 0,1,2 ..." * 'Sitzungen' ** ist ** ein Array. Arrays sind auch Objekte. –

Antwort

0

Sitzungen [0] .id ... Sitzungen [1] .DATA

Ja, genau so, wie Sie gesagt haben. Fügen Sie einfach das zurückgegebene Objekt (was auch immer Sie nennen es gab - ich nenne es unter returnedObject)

console.log(returnedObject.sessions[0].id); 

oder alle Sitzungen

console.log(returnedObject.sessions); 

Oder in eine Variable

var sessions = returnedObject.sessions; 

zu erhalten Oder alle IDs

var sessions = returnedObject.sessions; 
sessions.forEach(session => { 
    console.log(session.id); 
}); 
Verwandte Themen