【问题标题】:How to filter array angular如何过滤数组角度
【发布时间】:2017-12-30 13:45:41
【问题描述】:

我有一个包含指南的数组。使用查询我想仅使用包含(部分)查询的准则来过滤此数组。我有以下代码。

  filterguideline() {
    const query = this.recommendationForm.get('guideline').value;
        if (query !== "") {
            this.filteredguidelineList = this.Guidelines.filter(function (el) {
                return el.toLowerCase().indexOf(this.query.toLowerCase()) > -1;
            }.bind(this));
        } else {
            this.filteredguidelineList = [];
        }
    }

这实际上不起作用。它不会过滤数组,而只是显示 Guidelines 数组中的所有值(无论查询包含什么)。

有人知道解决办法吗?

【问题讨论】:

  • 使用arrow functions而不是普通的javascript函数,所以你不必调用.bind(this)
  • 如果答案有帮助,请点赞

标签: arrays angular filter


【解决方案1】:

您需要使用arrow函数或如下所示,

    if (query !== "") {
        this.filteredguidelineList =  this.Guidelines.filter(t=>t.toLowerCase().indexOf(this.query.toLowerCase()) > -1);
    } else {
        this.filteredguidelineList = [];
    }
   return this.filteredguidelineList;

使用arrow函数,

   this.filteredguidelineList = this.Guidelines.filter((el) => {
        return el.toLowerCase().indexOf(this.query.toLowerCase()) > -1;
   });

【讨论】:

    猜你喜欢
    • 2018-10-04
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 2017-09-11
    • 2020-07-12
    • 2021-04-01
    • 2017-06-20
    • 2021-08-19
    相关资源
    最近更新 更多