JS:如何用动态属性读取对象数组?

时间:2016-08-29 21:01:29

标签: javascript arrays

后端服务器返回一个嵌入了数组的会话对象,当我在控制台中登录时,我得到了这个:

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 ... sessions [1] .data ......等。

我应该如何重新格式化会话以使其按预期工作?

1 个答案:

答案 0 :(得分:0)

  

sessions [0] .id ... sessions [1] .data

是的,正如你所说。只需添加返回的对象(您给它的任何名称 - 我将其称为下面的返回对象)

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

或者获得所有会话

console.log(returnedObject.sessions);

或在变量中

var sessions = returnedObject.sessions;

或所有ID

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