【问题标题】:Dart // Flutter: How to remove Items from List depending on content of entryDart // Flutter:如何根据条目的内容从列表中删除项目
【发布时间】: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 但我不知道如何。这个新列表应该有另一个名字。

【问题讨论】:

    标签: flutter dart sqflite


    【解决方案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

    希望能解决您的问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      相关资源
      最近更新 更多