在Angular 2中过滤数组的最佳实践

时间:2016-09-08 11:18:53

标签: javascript angular

我有一个名为Tours的组件,它显示了一个完整的游览列表。 我有一个名为favorites的网站的链接,该网站应显示最喜欢的参数设置为true的游览,除了与Tour组件相同的游览。

是否有实现这一目标的最佳做法? 我可以想到几个方法

  1. 创建指向此组件的单独路径,并根据路径中的值进行过滤
  2. 创建基于路径路径触发的自定义管道
  3. 但是,它们对我来说都不是最理想的

1 个答案:

答案 0 :(得分:3)

我专门使用filter函数,尤其是在你的情况下。如果您在每次迭代时都有一个具有favorite属性的游览数组,则可以执行以下操作:

this.tours.filter((item) => {
            return (item.favorite === true)
        })

或者如果您想要filter参数的favorite函数,则可以执行以下操作:

filterFavorites(favorite : boolean): Array<string>{
        return tours.filter((item) => {
            return (favorite)? item : null;
        })
}

如果这有助于您,请告诉我。

编辑:你绝对可以创建一个管道,但我认为在你的情况下这样做会有点过分,除非你打算在其他地方多次使用这个管道。