如何过滤数组角度

时间:2017-12-30 13:45:42

标签: arrays angular filter

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

  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 = [];
        }
    }

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

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:0)

您需要使用 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;
   });