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、
标签:对象,s2,s1,list,ids,dart,ListDistinct,关于,id From: https://blog.51cto.com/u_13002884/5894585