firstWhere
とは、配列を最初から検索して、一番最初に見つかった値を返す関数です。
目次
使い方
第一引数には、boolを返す関数を指定します。
trueが帰ったときにその値を返します。
List<String> srtings = ['red', 'blue', 'yellow', 'purple'];
String str = srtings.firstWhere((String str) {
return str.length > 5;
});
orElseの使い方
orElse
を指定しなかった場合に、値が見つからないとthrow
がされてしまいます。
orElse
を設定することで、返す値を設定することができます。
String str = srtings.firstWhere((String str) {
return str.length > 5;
}, orElse: () => '');
null を返す方法
見つからなかった場合にはnullを返したい場合、
nullを含む配列として、定義する必要があります。
List<String?> srtings = ['red', 'blue', 'yellow', 'purple'];
String? str = srtings.firstWhere((String? str) {
return str!=null && str.length > 5;
}, orElse: () => null);
そのほかに、firstWhereOrNull
でorElse
を使わずにnullを返す方法もあります。
firstWhereOrNullでnullを返す方法
まずは、collectionパッケージをインストールします。
dependencies:
collection: ^1.15.0
参考
collectionpub.dev
import 'package:collection/collection.dart';
String? str = srtings.firstWhereOrNull((String str) {
return str.length > 5;
});
Flutter開発で知らないと損すること