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?

时间: 原作者:

114 2

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

原作者:
...