angular6 - TypeError : obj[key]. 包含不是一个函数

标签 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);
          });
        });
      }

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

类型错误:obj[key].includes 不是函数

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

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

最佳答案

我刚刚自己找到了答案,问题是我的其中一个属性为空,这就是导致错误的原因,所以我只是转换了下面的方法,它就像魅力一样!我希望这对某人有帮助。

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);
        }
      });
    });
  }

关于angular6 - TypeError : obj[key]. 包含不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52190183/

相关文章:

node.js - Angular 7 到 8 升级 : Cannot GET/home, 构建没有错误

php - 我正在尝试使用 mdbootstrap 中的 datepicker 但日期在数据库中显示为 0000-00-00

javascript - 为呈现的 MDBootstrap 元素覆盖 CSS

typescript - 从类中获取命名空间

angular - 带有空对象的补丁值

require - Angular 6::找不到名称 'require'

javascript - 如何将数据绑定(bind)到多选?

html - 如何让 "display: table"的多个div单行显示