2016-04-23 103 views
1

我有很多来自套接字的(用户)对象。在每一个新的连接上,我都会得到一个新的用户对象,但是在每次断开连接时,我只能得到最近断开连接的用户的ID。通过ID存储关联数据

什么是最好的方式来存储这些用户对象客户端?

已经尝试过这样的事情(伪代码没有插座,只是用于测试)

var connectedUsers = []; 

connectedUsers[12] = { 
    id: 12, 
    name: "Test", 
    // ... 
}; 

connectedUsers[29] = { 
    id: 29, 
    name: "Test 2" 
}; 

有点儿工作 - 但现在我已经得到了有很多空的空间阵列。好处在于,通过他的ID很容易删除用户。

使用对象来存储对象可能不会是正确的选择,因为我没有数字索引。

回答

3

使用一个对象。前面的索引转换为字符串并作为对象的属性。

var connectedUsers = {}; 

工作例如:

var connectedUsers = {}; 
 

 
connectedUsers[12] = { id: 12, name: "Test", }; 
 
connectedUsers[29] = { id: 29, name: "Test 2" }; 
 

 
document.write('<pre>' + JSON.stringify(connectedUsers, 0, 4) + '</pre>');

+0

绝对是我所期待的。谢谢。 – nehalist