我需要创建以下数据结构:
userid, onlinetime, offlinetime我需要在列表中重复输入用户id。
如下所示:
userid: 1, onlinetime: 11:10:30, offlinetime: 11:18:12
userid: 1, onlinetime: 11:14:14, offlinetime: 11:52:41
userid: 2, onlinetime: 8:08:14, offlinetime: 1:15:00如何创建此对象或列表?
如何读取此对象或列表?(我需要比较在线和离线时间。)
发布于 2012-01-22 22:01:30
您可以创建具有userId和connectionTimes属性的用户对象,并将其添加到用户数组中,如下所示:
function createUsers()
{
var users = [];
users[0] = {
userId: 1,
connectionTimes:
[
{onlineTime:"11:10:30", offlineTime:"11:18:12"},
{onlineTime:"11:14:14", offlineTime:"11:52:41"}
]
}
users[1] = {
userId: 2,
connectionTimes:
[
{onlineTime:"8:08:14", offlineTime:"1:15:00"}
]
}
return users;
}一旦有了用户数组,就可以遍历它并通过比较userId属性找到一个用户:
var users = createUsers();
for (var i=0;i<users.length;i++)
{
if (users[i].userId === 2)
{
for (var j=0;j<users[i].connectionTimes.length;j++)
{
alert("onlineTime: " + users[i].connectionTimes[j].onlineTime + ", " + "offlineTime: " + users[i].connectionTimes[j].offlineTime);
}
}
}编辑
以下是基于createUser和getConnectionTime函数的代码的分解版本:
function getConnectionTime(onTime, offTime)
{
return {onlineTime: onTime, offlineTime: offTime};
}
function createUser(uid, connTimes)
{
return {userId: uid, connectionTimes: connTimes};
}
var users = [];
var connTimes = [];
connTimes.push(getConnectionTime("11:10:30", "11:18:12"));
connTimes.push(getConnectionTime("11:14:14", "11:52:41"));
users.push(createUser(1, connTimes));
connTimes = [];
connTimes.push(getConnectionTime("8:08:14", "1:15:00"));
users.push(createUser(2, connTimes));
for (var i=0;i<users.length;i++)
{
if (users[i].userId === 2)
{
for (var j=0;j<users[i].connectionTimes.length;j++)
{
alert("onlineTime: " + users[i].connectionTimes[j].onlineTime + ", " + "offlineTime: " + users[i].connectionTimes[j].offlineTime);
}
}
}https://stackoverflow.com/questions/8961503
复制相似问题