【问题标题】:how can i compare two lists and take only differences in flutter我如何比较两个列表并仅获取颤振的差异
【发布时间】:2021-03-12 02:53:03
【问题描述】:
class BookmarkProvider with ChangeNotifier {
  List<Animal> _bookmarks = [];

  Future<void> loadBookmark({
    String userNo,
  }) async {
    var url = '${myUrl}_API/bookmark.php';
    var response = await ioClient.post(
      url,
      headers: {HttpHeaders.authorizationHeader: "secreat"},
      body: jsonEncode(
        <String, dynamic>{
          'user_No': userNo,
        },
      ),
    );
    _bookmarks = [
      ...jsonDecode(response.body)
          .map<Animal>((json) => Animal.fromJSON(json))
          .toList()
    ]; // want to make change here.
    notifyListeners();
  }
}

我想优化此代码,例如仅保存我在 _bookmarks 中使用 myAPI 获取的 oldData 和 newData 之间的差异。我的意思是在现有的数组 _bookmarks 中。 我不知道怎么弄。

【问题讨论】:

  • 查看Set类官方文档

标签: list flutter dart compare


【解决方案1】:

使用 Sets 来完成。使用集合,您可以轻松实现目标,然后转换回列表。

这是一个帮助您入门的链接 - https://www.w3adda.com/dart-tutorial/dart-sets

【讨论】:

  • 我明白了。但另一个问题是当新列表的项目少于旧列表时。它的工作方式与删除和添加相同吗?
  • 或者我应该只使用 list.clear(), list.addAll()?
  • 我不明白你想要达到什么目的。
猜你喜欢
  • 2022-06-28
  • 2019-12-29
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2013-04-25
  • 1970-01-01
  • 2019-07-19
相关资源
最近更新 更多