2017-09-05 91 views
0

我想知道如果它可以创建一个内部的对象的多个属性的循环。多个动态对象属性

即时试图像这样,但它不工作正确的:

var dataObjekt= {}; 
for(var i=0;i<req.session.dataObjekt.length;i++) { 
for(var v=0;v<req.session.dataObjekt[i].data.length;v++) { 
    dataObjekt[req.session.userObjekt[i].User] = { 
    [req.session.dataObjekt[i].data[v]]: { 
    }, 
    }; 
} 

}

我想:

User 1 { data 1: { }, data2: { }, data3: { }, ....}; 
User 2 { data 1: { }, data2: { }, data3: { }, ....}; 
User 3 { data 1: { }, data2: { }, data3: { }, ....}; 

但我得到的是:

只有
User 1 { last data: { }; 
User 2 { last data: { }; 
User 3 { last data: { }; 

的OBJEKT “保存”我的(v)for循环的最后一个元素。 什么都即时试图做的,我不能让它的工作。

在此先感谢。

回答

0

什么似乎发生的事情是要覆盖dataObjekt [req.session.userObjekt [I]。用户在内部循环的每个迭代。

你可以试试这个:

var dataObjekt= {}; 
    for(var i=0;i<req.session.dataObjekt.length;i++) { 
     dataObjekt[req.session.userObjekt[i].User] = []; 
     for(var v=0;v<req.session.dataObjekt[i].data.length;v++) { 
      dataObjekt[req.session.userObjekt[i].User].push({ 
      [req.session.dataObjekt[i].data[v]]: { 
     }); 
    }; 
    } 
+0

上帝保佑你! 工程就像一个魅力。 非常感谢! – tipsfedora