【问题标题】:Typescript: Cannot read property 'toLowerCase' of undefined打字稿:无法读取未定义的属性“toLowerCase”
【发布时间】:2017-07-21 09:28:27
【问题描述】:

我在线收到此错误:

return filter ? value.filter(element => element.type.toLowerCase().indexOf(filter.toString().toLowerCase()) != -1) : value;

element.type 为空字符串时(过滤空列)。如何解决这个问题?

【问题讨论】:

    标签: angular typescript angular2-filtering


    【解决方案1】:

    如消息所述:element.typeundefined。在您的filter 电话中添加一个检查。像这样的东西,你放什么取决于你期待什么,我只能猜测。

    return filter 
        ? value.filter(element => element.type && element.type.toLowerCase().indexOf(filter.toString().toLowerCase()) != -1) 
        : value;
    

    【讨论】:

      【解决方案2】:

      说得好,错误本身给出了解决方案,因为传递给小写的值是nullundefined

      只需添加到您的代码行中,您就会看到错误发生

      if(somevalue != null || somevalue != undefined)
      { ... }
      

      【讨论】:

        【解决方案3】:

        这个错误本身给出了解决方案,因为传递给小写的值是 null 或未定义。 要解决此类错误,请将要传递的数据的语句放在if 语句中。

        喜欢:

        if(somevalue != null || somevalue != undefined)
        { ... }
        

        将语句放在if 语句中解决了我的问题。

        【讨论】:

          猜你喜欢
          • 2021-11-28
          • 2020-07-23
          • 2020-06-24
          • 2018-10-23
          • 2021-05-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多