Dart // Flutter:如何根据条目的内容从列表中删除项目
Posted
技术标签:
【中文标题】Dart // Flutter:如何根据条目的内容从列表中删除项目【英文标题】:Dart // Flutter: How to remove Items from List depending on content of entry 【发布时间】:2020-09-13 12:36:02 【问题描述】:在我的 Flutter 应用程序中,我有一个数据库,用于跟踪用户喜欢哪些项目以及他不喜欢哪些项目。我有这个功能
List finalFavoritesList;
void queryDb() async
final db = await database;
final allRows = await db.query(TABLE_FAVORITE);
List finalFavoritesList = allRows.toList(growable: true);
print(finalFavoritesList);
据我了解,它从 sqflite 数据库创建了一个 dart 列表。 Logcat 打印:
[id: 0, isFavorite: 0, id: 1, isFavorite: 1, id: 2, isFavorite: 0, id: 3, isFavorite: 1, id: 4, isFavorite: 0, id: 5, isFavorite: 1]
现在我想删除每个条目,其中 isFavorite 等于 0 但我不知道如何。这个新列表应该有另一个名字。
【问题讨论】:
【参考方案1】:我认为你的问题本身就有答案!
使用removeWhere
函数。
List favorite = ['id': 0, 'isFavorite': 0, 'id': 1, 'isFavorite': 1, 'id': 2, 'isFavorite': 0, 'id': 3, 'isFavorite': 1, 'id': 4, 'isFavorite': 0, 'id': 5, 'isFavorite': 1];
favorite.removeWhere((item) => item['isFavorite'] == 0);
print(favorite);
输出:
[id: 1, isFavorite: 1, id: 3, isFavorite: 1, id: 5, isFavorite: 1]
参考:https://api.dart.dev/stable/2.9.3/dart-core/List/removeWhere.html
希望能解决您的问题!
【讨论】:
以上是关于Dart // Flutter:如何根据条目的内容从列表中删除项目的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Dart/Flutter 中根据类标签和属性名称抓取数据
如何修复 flutter_google_places_autocomplete.dart 的错误?
Flutter / Dart:地图列表与小部件列表?哪个更好?