这是 Dart 类:

class CategoriesContent {
  final String category;
  final String image;
  final int categoryNumber;

  CategoriesContent({this.category, this.image, this.categoryNumber});
}
如何删除元素
List<CategoriesContent> categoryList;
这样就不会保留具有相同类别编号的元素。.toSet().toList()不起作用。
示例添加
categoryList.add(CategoriesContent(
    image: x["img"][0],
    category: x["category"],
    categoryNumber: ii));
}

最佳答案

因此,您分别保存ID并调用toSet()以使其唯一,然后遍历列表并仅保留那些

final categoryNumbers = categoryList.map((e) => e.categoryNumber).toSet();
categoryList.retainWhere((x) => categoryNumbers.remove(x.categoryNumber));

关于flutter - 如何在 Dart 类列表中删除具有相同参数的元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64742250/

10-09 10:16