如何过滤多维数组



我有这个数组

如何筛选contacts的数组

我想删除值为participantSetting.excistence == false的对象

我使用node js,这是我的代码:

schedule.get('/conference/schedule_participants/:circle/:schedId', function(req, res) {
  if(req.schedId){
    getParticipants( req.params, function(contacts){
      results.contacts=contacts;
           var filtered = results(function(c) {
              return c.contacts.participantSetting.existence;
          });
            res.json(filtered);
    }); 
  }else{
          var filtered = results(function(c) {
              return c.contacts.participantSetting.existence;
          });
            res.json(filtered);
  }
});

所以输出应该是

[![2]][2]

您的filter已经正确,但您必须发送您设置的变量,而不是results:

res.json(filtered);

Array.prototype.filter方法不改变当前数组。

用过滤后的项创建一个新的数组。


更新三世

对不起,试图快速回答,我没有意识到你没有正确使用filter函数,也没有意识到results是一个对象,而不是一个数组。而且filter方法在这种情况下根本不起作用。所以,下面,有一个为您工作的解决方案:

results.contacts = results.contacts.filter(function(c) {
  return c.participantSetting.existence;
});
res.json(results);

相关内容

  • 没有找到相关文章

最新更新