【Dart/Flutter】firstWhereの使い方、nullを返す方法

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);

そのほかに、firstWhereOrNullorElseを使わずに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開発で知らないと損すること Flutter開発で知らないと損すること

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です