如何在javascript数组中逐个查找对象

如何在javascript数组中逐个查找对象,javascript,arrays,node.js,object,Javascript,Arrays,Node.js,Object,我正在阵列中存储websocket连接。这些是物体。我想在连接关闭时从阵列中删除一个连接 是否有任何方法可以找到与关闭连接匹配的连接对象并将其取消设置 我认为indexOf不起作用,对吧?因为值是一个对象 这里有一些代码 var connections = []; websocketServer.on('request', function(request) { var connection = request.accept(null, request.origin); conne

我正在阵列中存储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

  });
});

您可以执行
indexOf
然后
splice

var index = connections.indexOf(connection);
if(~index) connections.splice(index,1);
使用并调用
..isEqual(对象,其他)


下划线是一个JavaScript实用程序库,它提供了Prototype.js(或Ruby)中所期望的大量函数式编程支持,但不扩展任何内置JavaScript对象。这是与jQuery的tux和Backbone.js的吊带搭配的纽带。

匹配对象的标准是什么?如果object1==object2。。。但是我需要以某种方式匹配精确的实例,然后
indexOf
本身应该可以工作。indexOf可以在包含多个相同类型对象的数组中找到该对象的特定实例?@theolcat你是说你想通过数组查找具有闭合连接的对象,还是说你有一个连接不正确的对象已知已关闭--如果是,如何关闭?如果@elclanrs打算这样做,您可以在
中执行
~index
:D