どうも、ちょげ(@chogetarou)です。
Dartで配列であるリストの要素を条件で検索する方法を紹介します。
方法

リストの要素を条件で検索するには、firstWhereメソッドもしくはwhereメソッドを使います。
firstWhereメソッド
firstWhereメソッドは、条件に合致する最初の要素を取得するメソッドです。
具体的な使い方としては、引数に条件式を返すコールバック関数を指定します。
コールバック関数で返す条件式で最初に「true」を返す要素を取得できます。
list.firstWhere((element) => 条件式)
使用例
void main() {
var numbers = [1 , 2, 3, 4, 5];
//3より大きい要素を取得
print(numbers.firstWhere((element) => element > 3)); //4
}
where
whereメソッドは、条件に合致する要素をIterable型として全て取得するメソッドです。
具体的な使い方としては、引数に条件式を返すコールバック関数を指定します。
コールバック関数で返す条件式で「true」を返す要素をIterable型として全て取得できます。
//コールバック関数の条件式で最初に「true」を返した要素をリストとして全て取得
list.where((element) => 条件式)
また、whereメソッドで取得したIterableを、再びリストとして扱いたい場合は、toListメソッドでリストに変換します。
list.where((element) => 条件式).toList()
使用例
void main() {
var numbers = [1 , 2, 3, 4, 5];
print(numbers.where((element) => element > 2).toList());
}
まとめ
配列であるリストの要素を条件で検索するには、firstWhereメソッドもしくはwhereメソッドを使います。
コメント