首页 > 解决方案 > 如何降低此管道Angular 11的圈复杂度

问题描述

我怎样才能改进我的代码?任何想法?

import { Pipe, PipeTransform } from '@angular/core';
import { Images } from 'src/app/interfaces/images/images.model';

@Pipe({
  name: 'filter',
  pure: false
})
export class FilterPipe implements PipeTransform {
  transform(value: Images[], filteringString: string, ...arg: string[]): Images[] {
    if (value.length === 0 || filteringString === '') {
      return value;
    }
    const resultArray = [];
    for (const item of value) {
      for (const spreadArgument of arg) {
        if (item[spreadArgument].toString().includes(filteringString)) {
          resultArray.push(item);
        }
      }
    }
    return resultArray;
  }
}

它工作正常,但圈复杂度太高,对消化循环非常不利。谢谢 :)

标签: javascriptangular

解决方案


推荐阅读