TypeError:obj [key] .includes不是函数

时间:2018-09-05 17:00:15

标签: angular6 mdbootstrap typescript2.7

这是请求(已更新):

this._service.getPeople().subscribe((response) => {
 this.people = response;
});

这是方法:

filterIt(arr: any, searchKey: any) {
        return arr.filter((obj: any) => {
          return Object.keys(obj).some((key) => {
            return obj[key].includes(searchKey);
          });
        });
      }

我想要的结果是过滤表行,但是我得到的是:

TypeError:obj [key] .includes不是函数

必须知道的是,此代码可以完美地与一组硬编码的对象一起使用,但是当我使用服务(http.get)从后端获取数据时,该服务可以正常工作并返回带有dat的JSON,但我仍然出现错误。任何帮助将不胜感激!

我正在使用Typescript 2.7.2,Angular 6和MDBootstrap 6.2.2(Angular)。

1 个答案:

答案 0 :(得分:0)

我自己找到了答案,问题是我拥有一个空值属性,这就是引发错误的原因,所以我只改变了下面的方法,它的工作原理就像是魅力!我希望这对某人有帮助。

filterIt(arr: any, searchKey: any) {
    return arr.filter((obj: any) => {
      return Object.keys(obj).some((key) => {
        if (obj[key] !== null) {
          const tempKey = obj[key].toString().toLowerCase();
          const tempSearch = searchKey.toLowerCase();
          return tempKey.includes(tempSearch);
        }
      });
    });
  }