当前位置: 首页 > 面试题库 >

角函数滤波器比较器示例

万志专
2023-03-14
问题内容

有人可以给我一个如何使用角度滤波器比较器的例子吗?

从官方文档:

函数(实际的,期望的):将为函数提供对象值和谓词值进行比较,如果该项目应包含在过滤结果中,则应返回true。

有一篇很棒的博客文章谈论Angular过滤器:
AngularJS过滤器的乐趣-第1部分:filter过滤器

但是,在最后,我在寻找功能比较器的一些有用示例,但仍然没有发现任何结果。

对于更特殊的匹配需求,您可以传递函数而不是布尔值作为比较器参数。

我自己尝试了几种组合。在表达式的末尾添加函数或指向范围内的函数都不会起作用。


问题答案:

我做了这样的事情,因为Angular会迭代对象,并尝试将它们整体以及各个属性进行递归比较。

// in your controller

$scope.filterMyData = function (input, search_param) {

  if (input && input.propertyWeCareAbout) {

    // it's ugly, but to quickly get something done you can ignore search_param

    return input.propertyWeCareAbout === $scope.SomeOtherData;

  }

  else {

    return angular.equals(input, search_param);

  }

}


<span>Quick search: </span><input type="search" ng-model='quickSearch'/><br/>





<table>

  <tr ng-repeat="obj in someHttpService.dataAsArray | filter:quickSearch:filterMyData">

    <td>{{ obj.key }} </td>

    <td>{{ obj.propertyWeCareAbout }}</td>

  </tr>

</table>

就我而言,“ quickSearch”在很大程度上是没有意义的,并且过滤是通过不同的逻辑进行的。您始终可以通过在ng-repeat中添加“ |
filter:quickSearch”,最后始终链接另一个过滤器。



 类似资料:
  • 我想结合两个筛选函数来选择表中的几个元素。我的代码如下所示: 中的元素必须在第一个并且在一行中。因此,如果返回3个元素,它们必须在一行中,后面是中的元素。我怎样才能做到呢?我可以组合上面的筛选功能吗?

  • 实际上,我正在通过其中一个教程,其中提到,当我们需要实现比较器接口时,我们可以覆盖equals方法(但是没有必要覆盖)。 所以,只是为了更好地理解 我重写了下面的方法 测验JAVA MyComparator.java 导入java。util。比较器; 对于其他场景 现在不管我从equals方法返回什么,不管是真是假。。它返回相同的树集值。如果有人能澄清equals方法的函数性的概念,请

  • 我看到了这篇关于用lambdas颠倒顺序的文章,但有一件事甚至让我对传统的比较器实现(或匿名内部类)感到困惑:为什么将第二个参数与第一个参数进行比较会颠倒顺序?

  • 我想过滤掉具有“c2”列前3个字符的记录,无论是“MSL”还是“HCP”。 所以输出应该如下所示。 有谁能帮忙吗? 我知道df。过滤器($c2.rlike(“MSL”))--用于选择记录,但如何排除记录? 版本:Spark 1.6.2 Scala:2.10

  • 我有一个关于compareTo函数如何帮助比较器排序的问题,即o1。比较(o2)与o2。比较(o1) 如果两个字符串相等,则此方法返回0,否则返回正值或负值。如果第一个字符串在词典上大于第二个字符串,则结果为正,否则结果为负。 上面的陈述很简单,但是为什么o1.compare(o2)会给我一个升序,而o2.compare(o1)给了我一个降序? 如果我有整数值“5,10,3”,我得到3,5,10和

  • 我对验证FIR滤波器感兴趣。我已经实现了一个移动平均FIR滤波器,并编写了几个刺激来验证。 第一个刺激是一个正弦波,我希望滤波器按原样通过。档案员有。第二个刺激,我只传递一个冲动,并期望协效出现在输出上。这是我实际看到的。 然而,我觉得有两个问题需要注意。首先,不能依赖于波形形状来判断滤波器是否工作。我必须有可量化的值,并使用它作为一个基础,以得出结论,如果过滤器是工作的。例如。信噪比... 以下