0
点赞
收藏
分享

微信扫一扫

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、

dart 关于对象去重_多选

      

dart 关于对象去重_多选_02

    

dart 关于对象去重_过滤_03

 

 

 

 

 

举报

相关推荐

0 条评论