【问题标题】:AngularJS Filter: Return array of objects not matching expected stringAngularJS过滤器:返回与预期字符串不匹配的对象数组
【发布时间】:2015-08-29 10:47:16
【问题描述】:

在 AngularJS 中,'filter' filter 可以查看对象数组并仅返回具有包含字符串比较器的字符串属性值的对象的数组。

因此,下面将给出对象数组people 的每个成员的列表,其中包含surname: 'Smith'occupation: 'Blacksmith'address_1: '123 Smithfield Lane' 等任何属性。

<ul>
    <li ng-repeat="person in people | filter: 'Smith'">
        {{ person.name }}
    </li>
</ul>

使用AngularJS获取包含字符串'Smith'的对象数组的最佳方法是什么?

【问题讨论】:

    标签: javascript angularjs angularjs-filter


    【解决方案1】:

    来自https://docs.angularjs.org/api/ng/filter/filter

    用于从数组中选择项目的谓词。

    可以是以下之一:

    string:字符串用于匹配数组的内容。将返回数组中与该字符串匹配的所有字符串或具有字符串属性的对象。这也适用于嵌套对象属性。谓词可以通过在字符串前面加上前缀来否定!

    <li ng-repeat="person in people | filter: '!Smith'">
        {{ person.name }}
    </li>
    

    如果您只想按名称过滤,请使用对象谓词

    <li ng-repeat="person in people | filter: { name : '!Smith'}">
        {{ person.name }}
    </li>
    

    【讨论】:

      猜你喜欢
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 2020-02-12
      • 1970-01-01
      • 2018-11-05
      • 2018-09-02
      • 1970-01-01
      相关资源
      最近更新 更多