簡體   English   中英

Dart 中的多個過濾器列表

[英]Multiple filters list in Dart

我需要一些幫助來以多種方式過濾對象列表。 讓我解釋一下,我有這個清單:

List<myObj> obj = [
    myObj(name: "Name 1", team: "Team 1", league: "League 1"),
    myObj(name: "Name 2", team: "Team 1", league: "League 1"),
    myObj(name: "Name 3", team: "Team 2", league: "League 1"),
    myObj(name: "Name 4", team: "Team 2", league: "League 1"),
    myObj(name: "Name 5", team: "Team 2", league: "League 1"),
    myObj(name: "Name 6", team: "Team 3", league: "League 2"),
    myObj(name: "Name 7", team: "Team 4", league: "League 2"),
    myObj(name: "Name 8", team: "Team 4", league: "League 2"),
    myObj(name: "Name 9", team: "Team 5", league: "League 2"),
    myObj(name: "Name 10", team: "Team 6", league: "League 3"),
    myObj(name: "Name 11", team: "Team 6", league: "League 3"),
    myObj(name: "Name 12", team: "Team 6", league: "League 3"),
    myObj(name: "Name 13", team: "Team 7", league: "League 3"),
    myObj(name: "Name 14", team: "Team 7", league: "League 3"),
]

在另一個頁面上,我可以選擇多個過濾器,例如,我選擇查看 League 2 和 League 3 的所有玩家,同時查看 Team 6 和 Team 4。所以他們將這兩個 arrays 返回給我

List<String> filtersLeague = ["League 2", "League 3"];
List<String> filtersTeams = ["Team 6", "Team 4"];

我如何用這兩個 arrays 過濾這個? 謝謝你!!

一種方法就是這樣。

List<myObj> filteredList = obj
      .where((e) => filtersTeams.contains(e.team) && filtersLeague.contains(e.league))
      .toList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM