2016-08-29 2 views
1

внутренний сервер возвращает объект сессии с массивом встроенным, при входе его в консоли, я получаю это:JS: как читать массив объектов с динамическими свойствами?

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 

так, есть дополнительный слой объектов с именами динамичеев 0,1,2 ...

но мне нужно заполнить чистый массив объектов, например: [{id: "22", data: Object}, {id: "23", data: Object}, {id : «48», data: Object}]

поэтому я бы назвал его сеансами [0] .id ... сеансы [1] .data ... и т. Д.

Как мне переформатировать сессии, чтобы они работали, как я желаю?

+2

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

+0

* "есть дополнительный слой объектов с динамическими именами свойств 0,1,2 ..." * 'sessions' ** - это массив. Массивы тоже объекты. –

ответ

0

сессий [0] .id ... сессии [1] .data

Да, именно так, как вы сказали. Просто добавьте возвращаемый объект (любое имя вы дали - я буду называть это returnedObject ниже)

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

Или, чтобы получить все сеансы

console.log(returnedObject.sessions); 

Или в переменной

var sessions = returnedObject.sessions; 

Или все ids

var sessions = returnedObject.sessions; 
sessions.forEach(session => { 
    console.log(session.id); 
}); 
Смежные вопросы