gpt4 book ai didi

flutter - Dart-通过至少包含一个元素来过滤列表中的列表

转载 作者:行者123 更新时间:2023-12-03 04:12:49 24 4
gpt4 key购买 nike

我正在尝试通过平台列表过滤游戏列表。
例如,我得到了以下游戏列表(Game1,Game2,Game3,Game4):
enter image description here
我希望能够过滤此列表以获取所有PC和MAC游戏(它必须返回[Game1,Game2,Game3])
目前,我只能使用一个平台ID过滤列表,而不能使用平台列表过滤:

var filteredGames = games.where((g) => g.platforms.any((p) => p.id == /*PC or MAC*/)).toList();
谢谢您的帮助。

最佳答案

仅使用您的代码,只需要很少的修改就可以了。只需使用列表中的contains()即可检查游戏平台列表
算法

  1. Maintain a list of platform which will be used to filter
  2. Check with the games whether it has the item present in the gamesList or not
  3. Store in the variable for filtered data

应答代码
games.where((game) => game.platforms.any((p) => gamesList.contains(p))).toList();
示例
// this is for maintaining multiple list for check
List<String> gamesList = ['PC', 'MAC'];

var filteredList = games.where((game) => game.platforms.any((p) => gamesList.contains(p))).toList();

print(filteredList); // [Instance of 'Game', Instance of 'Game', Instance of 'Game']

for(var game in filteredList){
print(game.name); // Game1, Game2, Game4
}

关于flutter - Dart-通过至少包含一个元素来过滤列表中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63849828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com