Dart ListクラスindexWhere()メソッド

Dar言語StreamクラスtoSet()メソッドDart

Dart ListクラスのindexWhere()メソッドについてメモ書き。

indexWhere()メソッドは第1引数で指定した条件を満たす値を配列内で検索し、初めに見つかったインデックス位置を返す。第2引数で検索を開始するインデックス位置を指定できる。第2引数はオプション引数で、省略した場合は先頭から検索する。要素が存在しない場合は”-1″を返す。

コーディングで確認。先ずは第2引数を指定せずに実行。

void main() {
  try {
    final listTest = <String>[
      "Apple",
      "Orange",
      "Banana",
      "grape",
      "Orange",
      "grape",
      "Orange",
      "Orange"
    ];
    print(listTest.indexWhere((element) => element.contains("Ora")));
  } catch (e) {
    print(e.toString());
  }
}

実行結果。
“Ora”が含まれている最初のインデックス位置を返す。

1

次は第2引数で開始インデックス位置”5″を指定。

void main() {
  try {
    final listTest = <String>[
      "Apple",
      "Orange",
      "Banana",
      "grape",
      "Orange",
      "grape",
      "Orange",
      "Orange"
    ];
    print(listTest.indexWhere((element) => element.contains("Ora"), 5));
  } catch (e) {
    print(e.toString());
  }
}

実行結果。

6

最後は存在しない要素を指定。

void main() {
  try {
    final listTest = <String>[
      "Apple",
      "Orange",
      "Banana",
      "grape",
      "Orange",
      "grape",
      "Orange",
      "Orange"
    ];
    print(listTest.indexWhere((element) => element.contains("Ri")));
  } catch (e) {
    print(e.toString());
  }
}

実行結果。

-1

コメント

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