【发布时间】:2014-12-30 06:16:20
【问题描述】:
我正在尝试使用数组映射来进一步过滤对象,以准备将其发送到服务器以进行保存。我可以过滤到 1 个键值,这很棒,但我想更进一步,并根据内部的布尔值检查它们。
所以,现在这就是我所拥有的 -
$scope.appIds = $scope.applicationsHere.map( function(obj){
if(obj.selected == true){
return obj.id;
}
});
这对于提取 id 非常有用,但是如果他们选择的值 == false,我不想将它们推送到这个新数组中,所以我设置了一个条件来进一步过滤。这有点奏效,我得到了一个 id 数组,但是 .selected == false 的 id 仍然在数组中,只是值为 null。所以如果我在对象中有 4 个项目,其中 2 个是假的,它看起来像这样 -
appIds = {id1, id2, null, null};
我的问题是 - 有没有办法在不放空值的情况下做到这一点。感谢阅读!
【问题讨论】:
-
在 JS 中有
Array.prototype.filter用于此目的的方法。
标签: javascript angularjs map