我有很多来自套接字的(用户)对象。在每个新连接上,我都会得到一个新的用户对象,但是在每个断开连接上,我只会得到最近断开连接的用户的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>');

10-08 19:05