如何过滤角度为7的数组中的数组

时间:2019-08-30 09:41:12

标签: angular

您好,我需要您的帮助来解决问题,

1 个答案:

答案 0 :(得分:0)

首先,让我告诉您一些基本规则:

  • 尽可能避免使用const
  • 使用includes()代替indexOf() !== -1
  • 尝试提取复杂谓词
  • 请输入

其他个人建议:

  • 避免||。对我来说,很难阅读然后简单地检查一个 由另一个条件。您还可以为添加非常简单的日志输出 例子。

结果,您实现了类似的目的

public filterList = (value: string) => {

    if (this.virtualServersInitialList) {
        const virtualServers: Vs[] = this.virtualServersInitialList.filter(vs => searchVs(vs, value));
    }
}

public function searchVs(vs: Vs, value: string): boolean {
    // search vs name
    if (vs.vs.tmName.split("/")[2].toLowerCase().includes(value)) {
        return true;
    }

    // search destination
    if (vs.vs.destination.toLowerCase().includes(value)) {
        return true;
    }

    // search pool name
    if (vs.vs.pools.some((pool: Pool) => pool.tmName.split("/")[2].toLowerCase().includes(value))) {
        return true;
    }

    // search addr & port
    // TODO by you
}