Dartの配列「リスト」にフィルター処理をする方法を解説します。
方法

Listにフィルター処理をするには、「where()メソッド」を使います。
where( ( 引数 ) => 条件式 )
このメソッドは、引数としてリストの要素を取り出し、その引数を条件式の結果を受け取ります。
そして、受け取った条件式が「true」の場合は、その要素をリストに残します。
逆に「false」だった場合は、その要素を削除します。
結果、条件式を満たす要素だけが残るようになっています。
以下は、使用例です。
var list = <int>[0,1,2,3,4,5];
//フィルター処理
var filter = list
.where((int value) => value > 2)
.toList();
print(filter);

上記は、「0~5」の数値のうち、2より大きいものだけにする例です。
ここでポイントとなるのは、where()メソッドを使ったリストは、Iterableという別の型になるということです。
Iterableになるので、フィルター処理をしたリストは、「toList()メソッド」でリストにキャストする必要があります。
また、引数の型は、リストの要素に合わせて指定します。
まとめ
フィルター処理には、「where()メソッド」を使います。

参考
Alberto Miola, Flutter Complete Reference.(書籍)
コメント