我想知道是否可以在 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 循环的最后一个元素。我想做什么,我无法让它工作。
提前致谢。
似乎正在发生的事情是您在内循环的每次迭代中都覆盖了 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]]: {
});
};
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句