javascript - 基于索引的array 中,javascript如何进行 delete?

  显示原文与译文双语对照的内容
128 2

我正在玩nodejs和 socket.io,我想存储用户的插座id和名称。我做了一个构造器

function user(socketid,name){
this.socketid = socketid;
this.name = name;
this.getName = function(){
 return this.name;
};
this.getId = function(){
 return this.socketid;
};
}

我把它们插入一个 array 像这样

users[socket.id] = new user(socket.id,'jirka');

这导致用户像这样

[ '/chat#nksuCQdzHgBwO7x8AAAA': user {
socketid: '/chat#nksuCQdzHgBwO7x8AAAA',
name: 'jirka',
getName: [Function],
getId: [Function] },
'/chat#nmORiKZ9xzklDuUCAAAB': user {
socketid: '/chat#nmORiKZ9xzklDuUCAAAB',
name: 'jirka',
getName: [Function],
getId: [Function] } ]

现在在断开事件时,我想通过 socket.id 将它们从 array 中 delete

users.splice(socket.id,1);

但是,如果我在 array 中没有命名的索引,并且在它们匹配的话,那么它就不能用迭代器。

users.splice(i,1);

可以以帮助我找出如何从 array 中找到命名索引的delete?

时间:原作者:0个回答

114 2

好的,delete 用户 [socket.id] 工作,尽管使用这个没有命名索引没有工作和离开未定义的索引

原作者:
...