我尝试使用Javascript创建一个结构,如下所示:
var users = {
user.id: {
session.id1: session.id1,
session.id2: session.id2,
session.id3: session.id3
},
user.id2: {
session.id1: session.id1,
session.id2: session.id2,
session.id3: session.id3
},
};
我需要什么:添加新会话并删除它们,删除没关系,但我应该如何定义对象以及如何将新会话推送到用户obejct?这就是为什么关键等于价值。
答案 0 :(得分:3)
如果您想使用session.id1
而不是sessionId1
:
分配值:
users['user.id'].['session.id1'] = value;
创建对象:
var users = {
'user.id': {
'session.id1': session.id1,
'session.id2': session.id2,
'session.id3': session.id3
},
'user.id2': {
'session.id1': session.id1,
'session.id2': session.id2,
'session.id3': session.id3
},
};
但我不推荐它。如果你是唯一一个使用这段代码的人,那就没关系。
答案 1 :(得分:0)
如何重构用户对象以将会话存储为数组,并根据需要进行推送,弹出和切片。
var users = [
{
id:'userid',
sessions: [
{
id: 'sessionid',
sessiondata: something
},
{
id: 'sessionid',
sessiondata: something
}
]
}];
这种方法可以在会话数组上为每个用户使用普通的数组运算符。
答案 2 :(得分:0)
您可以先创建一个空对象,并在数据到达时填充
users[user.id] = {};
举个例子:
var users = {};
var user = {id : 1}; //Data received(Just an example)
users[user.id] = {};
var session = {id1 : 1.1}; //Data received
users[user.id][session.id1] = session.id1;
console.log(JSON.stringify(users));