我有这个数组
如何筛选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);