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、

          

 

 

 

 

 

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