【问题标题】:Multiple Dynamic Object Properties多个动态对象属性
【发布时间】:2017-09-05 13:29:11
【问题描述】:

我想知道是否可以在 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: { };

Objekt 仅“保存”我的 (v) for 循环的最后一个元素。 无论我想做什么,我都无法让它发挥作用。

提前致谢。

【问题讨论】:

    标签: javascript object dynamic automatic-properties


    【解决方案1】:

    似乎正在发生的事情是您在内循环的每次迭代中都覆盖了 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]]: {
           });
        };
       }
    

    【讨论】:

    • 上帝保佑你!奇迹般有效。非常感谢!
    猜你喜欢
    • 2019-11-14
    • 2019-11-25
    • 2011-09-27
    • 2020-05-25
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 2017-05-23
    相关资源
    最近更新 更多