这是【Dart 教程系列第 20 篇】,如果觉得有用的话,欢迎关注专栏。
Dart 根据条件筛选数组中的元素,用 where()
方法,源代码定义如下
Iterable<E> where(bool test(E element)) => WhereIterable<E>(this, test);
返回值为 Iterable,参数返回值为 bool 类型,符合条件的为 true ,将元素添加到一个新的 Iterable 中
例 1
List<int> l1 = [8, 12, 4, 1, 17, 33, 10];
Iterable<int> l2 = l1.where((e) => e > 10);
List<int> l3 = l1.where((e) => e > 10).toList();
print(l2); // (12, 17, 33)
print(l3); // [12, 17, 33]
注意这里的 l2
是 Iterable 类型的,虽然 List 继承于 Iterable,但如果你想要的是一个数组,需要在 l2
后面加上 toList 方法,如 l3
。
例 2
List<String> l2 = ["一月", "周四", "周五", "二月", "三月", "周六", "四月"];
List<String> l3 = l2.where((e) => e.contains("月")).toList();
print(l3); // [一月, 二月, 三月, 四月]
更多 Dart 中 List 数组的方法,推荐一篇博客 Dart 中 List 数组的常用方法
你的问题得到解决了吗?欢迎在评论区留言。
赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。
技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。
结束语
最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。