首页 > 解决方案 > Angular Typescript声纳错误必须使用“过滤器”的返回值

问题描述

我在声纳中有错误:

必须使用“过滤器”的返回值

但我看到这是使用过滤器。那里可能有什么问题?

array.filter(item => {
item.value.split(' ').forEach( i => {
    if ( doSomething(i).toLowerCase().indexOf(doSomething(term).toLowerCase()) === 0 ) {
      arrayResult.push(item);
    }
});

标签: angulartypescriptsonarqube

解决方案


您正在使用过滤器,但您忽略了它返回的结果。调用filter()构造一个新数组而不修改原始数组。调用 filter 的全部目的是创建这个新数组,所以如果你不使用它,那么程序正在做不必要的工作,并且 filter 很可能是使用错误的操作。

在您的示例中,您似乎只想遍历项目并且您自己将值推送到另一个数组,所以类似的东西forEach可能会更好。


推荐阅读