我正在尝试使用数组映射来进一步过滤对象,以便准备将其发送到服务器进行保存。我可以过滤出一个键值,这很好,但我想再进一步检查它们是否与内部布尔值匹配。
目前,我有以下代码 -
$scope.appIds = $scope.applicationsHere.map( function(obj){
if(obj.selected == true){
return obj.id;
}
});
这个方法很好地提取了id,但是如果它们的选定值为false,我不想将它们推入这个新数组中,因此我加了一个条件进一步筛选。这在某种程度上有效,我得到了一个id的数组,但是那些.selected == false的id仍然在数组中,只是值为null。因此,如果对象中有4个项目且其中2个为false,则看起来像这样 -
appIds = {id1, id2, null, null};
我的问题是,有没有一种方法可以在不放置空值的情况下完成这个操作。谢谢阅读!
Array.prototype.filter
的方法可以实现这个目的。 - pawel