2017-09-05 6 views
0

forループの中にオブジェクトの複数のプロパティを作成できるかどうか疑問に思っています。複数の動的オブジェクトのプロパティ

イムこのようにそれをしようとしたが、それは正しく動作していない:

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: { }; 

オブジェクトのみmy(v)forループの最後の要素を「保存」します。 私はこれまで何をしようとしていますが、私はそれを働かせることはできません。

ありがとうございます。

答えて

0

内部ループのすべての反復でdataObjekt [req.session.userObjekt [i] .User]を上書きしているようです。

あなたはこれを試すことができます。

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

関連する問題