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、