我有很多来自套接字的(用户)对象。在每个新连接上,我都会得到一个新的用户对象,但是在每个断开连接上,我只会得到最近断开连接的用户的ID。
在客户端存储这些用户对象的最佳方法是什么?
已经尝试过类似的操作(不带套接字的伪代码,仅用于测试)
var connectedUsers = [];
connectedUsers[12] = {
id: 12,
name: "Test",
// ...
};
connectedUsers[29] = {
id: 29,
name: "Test 2"
};
Kinda可以工作-但现在我有了一个包含许多空白空间的数组。好处是,仅通过其ID即可删除用户。
使用对象存储对象可能不是正确的选择,因为我没有数字索引。
最佳答案
使用一个对象。以前的索引将转换为字符串,并作为对象的属性。
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>');