打字稿:无法读取属性&to to ofLowerCase'未定义的

时间:2017-03-01 21:13:07

标签: angular typescript angular2-filtering

我在线收到此错误:

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

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

3 个答案:

答案 0 :(得分:2)

如消息所示:element.typeundefined。在filter来电中添加一项检查。这样的东西,你放的东西取决于你期待的东西,我只能猜测。

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

答案 1 :(得分:0)

此错误本身提供了解决方案,因为传递为更改为小写字母的值是null或未定义。 要解决此类错误,请将要传递的数据的语句放在“ if”语句中。

赞:

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

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

答案 2 :(得分:0)

好吧,错误本身就是解决方案,因为传递给小写字母的值是null或未定义。

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

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