我正在尝试使用数组映射进一步过滤对象,以准备将其发送到服务器进行保存。我可以过滤为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};
我的问题是-有没有这样做的方法而没有将null放在那里。谢谢阅读!
您正在寻找的.filter()
功能:
$scope.appIds = $scope.applicationsHere.filter(function(obj) {
return obj.selected;
});
这将产生一个数组,该数组仅包含那些其“ selected”属性为true
(或真实)属性的对象。
编辑 抱歉,我喝了咖啡,但我错过了评论-是的,正如jAndy在评论中指出的那样,过滤然后仅提取“ id”值,结果是:
$scope.appIds = $scope.applicationsHere.filter(function(obj) {
return obj.selected;
}).map(function(obj) { return obj.id; });
一些功能库(例如Functional,在我看来并没有得到足够的.pluck()
重视)具有从对象列表中提取属性值的功能,但是本机JavaScript具有一组相当精简的此类工具。
我有一个选择类型的表单填充从以下数组: 如果此日期在具有相同时隙的数据库中已知,则必须过滤掉此时隙。现在他一天只取一个值。 例如,我有一个数组: 在那里,我想用这个函数过滤掉以下值: 因此,我预计“17:00”和“17:30”将不再可见。如你所见,只有17:00不再可用。如果我有1个值,它就会工作。有人能告诉我我做错了什么吗?
带hibernate的JSF应用程序 有没有一种方法可以使用联接来过滤条件列表返回的结果<我有两张桌子。订单和顾客。 我需要返回丢失电子邮件地址的客户的所有订单,以及所有order.billingCustomeId=null和CustomeId=nullorder.shipping订单。 客户可以在或上进行匹配。 我将使用的SQL Hibernate标准 这将返回billing/shipping
我正在使用谷歌表单的过滤功能,但无法按我想要的方式使用,已经3天了。。。 基本上,我有第1页,有一列“电子邮件”和一列“潜在客户ID”。表2具有相同的“潜在客户ID”,但已过滤。含义,第1页,其“顺序为1,2,3,4,5…”。。。第二张不是,像是2,4,5,23,41。。。我想在表1中找到正确的电子邮件地址,该地址在两个表中具有相同的Lead ID。我使用了Filter函数,它工作得非常好,因为它
如何过滤
我想使用条件筛选数据集。我尝试使用.isin()函数,但在筛选np.array浮点列表时得到了一个空数据帧。这是我的密码 我在绝对差异btw公式列中搜索的值实际上是存在的,因为当我运行df[15:25]时,我得到了这个 那么,我如何使用.isin()函数或任何条件语句来实现它呢。目标是用0.1到0.9范围内的df['Absolute Diff btw formulas']值打印数据帧。谢谢