首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角2管规则

角2管规则
EN

Stack Overflow用户
提问于 2017-05-17 19:03:04
回答 1查看 58关注 0票数 0

我写了一个管道,它应该同时过滤AUID和名字,但不知怎么的,它只对名字起作用。有人能帮我找出原因吗?

以下是代码:

代码语言:javascript
复制
        return value.filter((searchresult:ISearch)=>
        (filterBy2?searchresult.AU_ID.indexOf(filterBy2)!==-1:true)&&
        (filterBy?searchresult.first_name.toLocaleLowerCase().indexOf(filterBy)!==-1:true)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-18 05:03:57

我用了你提供的同样的代码。它为我工作。您能否确保AU_ID是作为参数而不是数字传递的字符串,在这种情况下,indexOf不能工作。

代码语言:javascript
复制
transform(value: Array<any>, filterBy: string, filterBy2: string): Array<any> {
    filterBy = filterBy ? filterBy.toLocaleLowerCase() : null;
    filterBy2 = filterBy2 ? filterBy2 : null;
    return value.filter((searchresult: Array<any>) =>
      (filterBy2 ? searchresult['AU_ID'].indexOf(filterBy2) !== -1 : true) &&
      (filterBy ? searchresult['first_name'].toLocaleLowerCase().indexOf(filterBy) !== -1 : true)
    );
  }

在html文件中,我使用了以下代码:

代码语言:javascript
复制
<div *ngFor="let dummy of dummyData | screeningSearch: 'A' : '1'">hi {{dummy.first_name}}</div>

数据保存如下:

代码语言:javascript
复制
dummyData = [
    {
      'AU_ID': '1234',
      'first_name': 'Albert'
    },
    {
      'AU_ID': '5678',
      'first_name': 'Andi'
    }
  ];

结果:

hi Albert

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44032903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档