dart 关于对象去重

1、方式一搜索看到,dart好像有这样的方法。 原文连接  

 大概思想跟java list去重类似,如根据 对象中的id去重

var list = list.Distinct(new ListDistinct()).ToList();
public class ListDistinct : IEqualityComparer<Student>{
         public bool Equals(Student s1,Student s2)
         {
             return (s1.id != s2.id);
         }
}

2、不过我自己写代码实现

List<Student> list = [......];
List<String> ids = [];
list.forEach((item) {
  ids.add(item.id);
});
var newList = list.where((value) {
  return !ids.contains(value.id);
}).toList();

虽然没有第一个方法优雅,但是这段代码实现的功能却大有用处

实际在项目中应用: 选择员工,是多选,选择一个人之后,再点击搜索。将搜索出的人追加到已经勾选了的下面。并且剔除掉重复的员工。 效果如下

1、                                                        2、                                                   3、

          

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章