在我的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但不知道如何的所有条目。此新列表应使用其他名称。 最佳答案
我认为您的问题本身就有答案!
使用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希望能解决您的情况!