[Dart]リストを条件で絞り込む方法

Dart

どうも、ちょげ(@chogetarou)です。

リストの要素を条件によって絞り込む方法を解説します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

ある条件を満たす要素だけにしたいのならば、「whereメソッド」を使います。

「whereメソッド」は、リストの要素の内、条件式を満たすものだけで新しいリストを作るメソッドです。

where((T value) => condition)
T : 要素の型
value : 取り出した要素を受け取る引数の名前
condition : 条件式(trueもしくはfalseを返す)

条件式が「true」を返した要素だけに絞り込まれます。

以下は、「whereメソッド」の使用例です。

  var list = <int>[1, 2, 3, 4, 5];

  var newList = list.where((int value) => value > 3).toList();
   
  print(newList);

「int value」が取り出した要素、「value > 3」が条件式になります。

上記の例では、「value > 3」が「true」、つまり3より大きい要素に絞り込まれます。

そして、「whereメソッド」で作成されのは「Iterable型」という別の型になるので、最後に「toList()」でリストに変換する必要があります。

絞り込む方法としては、他にも「removeWhereメソッド」を使う方法があります。

このメソッドは、引数に指定した条件にあう要素を削除します。

新しいリストを作るわけではなく、いらない要素を消したいのならば「removeWhereメソッド」の方が良いかと思います。

  var list = <int>[1, 2, 3, 4, 5];

 list.removeWhere((value) => value > 3);
   
  print(list);

まとめ

リストの要素を絞り込むには、「whereメソッド」を使用します。

whereメソッドは、条件を満たす要素だけの新しいリストを作ります。

もし、新しいリストを作るのではなく、いらない要素を削除したいという人は「removeWhereメソッド」を使いましょう。

コメント

タイトルとURLをコピーしました