繁体   English   中英

如何在JavaScript数组中按对象查找对象

[英]How do I find an object by object inside a javascript array

我将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);

使用underscore.js并调用_.isEqual(object, other);

Underscore是JavaScript的实用程序带库,它提供了Prototype.js(或Ruby)中期望的许多功能编程支持,但没有扩展任何内置的JavaScript对象。 这是与jQuery的晚礼服和Backbone.js的吊带一起使用的纽带。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM