我将websocket连接存储在数组中。这些是对象。我想在连接关闭时从数组中删除连接。
有什么方法可以找到哪个连接对象与关闭连接匹配并取消设置?
我认为indexOf
无效,对吗?因为价值是一个对象......
.........................................
这是一些代码
var connections = [];
websocketServer.on('request', function(request) {
var connection = request.accept(null, request.origin);
connection.on('message', function(message){
if(message.type !== 'utf8')
return;
var msg = JSON.parse(message.utf8Data);
if(msg.txt == 'something'){
connections.push(connection);
}
});
connection.on('close', function(connection) {
// here remove connection object from connections array
});
});
答案 0 :(得分:1)
您可以indexOf
然后splice
var index = connections.indexOf(connection);
if(~index) connections.splice(index,1);
答案 1 :(得分:0)
使用underscore.js并致电_.isEqual(object, other);
下划线是一个用于JavaScript的实用程序带库,它提供了许多您在Prototype.js(或Ruby)中所期望的函数式编程支持,但没有扩展任何内置的JavaScript对象。它与jQuery的tux以及Backbone.js的吊带相配合。