我正在使用WebSockets,(socket.io)我有一个有多个房间的应用程序,每个房间需要显示该房间内每个用户的用户名和他们的分数,所以我需要跟踪用户名,得分和当前房间(用户名和房间号也存储在套接字会话中,但也需要存储在数组中)。我希望使用用户名作为主要参考点来访问,添加,删除和编辑数组。
我的阵列:
var users = [];
结构:
[
{
"nickname": [
"usernickname"
],
"inroom": 1,
"score": 0
},
{
"nickname": [
"usernickname"
],
"inroom": 1,
"score": 0
}
]
我是如何添加的:
function addEntry(nickname, inroom, score){
users.push({
nickname: nickname,
inroom: inroom,
score: score
});
}
addEntry(["usernickname"],1,0);
尝试通过昵称删除,我知道这有效delete users[1];
,但我需要知道昵称在数组中的位置,通过昵称删除,尝试此delete users.nickname[usernickname];
没有工作,我尝试了一些.splice
方法,但我无法让它们工作......
我曾经想过。indexOf
或Array.prototype.indexOf()
可能有助于找到要删除/编辑的昵称的位置,但再次没有运气使用它。