【发布时间】:2014-11-10 04:04:52
【问题描述】:
我有一个循环,我想为前端编译一个对象。
循环设置一个用户、小时数和时间戳变量,我想从中动态创建新对象。
这是我迄今为止所拥有的,它不起作用,因为它显然只是替换了用户。任何帮助都是解决此问题的最佳方式,谢谢。
var Things = { /* big dump of data */ };
var usersHours = {};
for (var i = Things.length - 1; i >= 0; i--) {
var user = Things[i].user;
var hours = Things[i].hours;
var timeStamp = Things[i].timeStamp;
var hoursAdd = {};
hoursAdd[timeStamp] = hours;
usersHours[user] = hoursAdd;
};
// example of wanted final output
var usersHours = {
user1 : {
1406178757855 : 10:00,
1406178743473 : 04:00,
1406178759600 : 04:44
},
user2 : {
1406178475847 : 01:30,
1406193847384 : 07:00,
1406984783487 : 08:44
},
user3 : {
1406173847787 : 01:40,
1406139847873 : 07:14,
1406183748374 : 08:34
}
}
【问题讨论】:
-
Things[i].user给你什么,因为它只会在每次都相同的情况下被覆盖,你能举个例子说明Things中的内容 -
@Quince 感谢您的回复。在这种情况下,事物是一个 Firebase 数组。循环比我在尝试使问题简单的问题中要复杂一些。
标签: javascript arrays json javascript-objects