【Dart 教程系列第 20 篇】Dart 之 where 根据条件筛选数组中的元素

314 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

这是【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 数组的常用方法

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。

最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。