Dart ListクラスのlastIndexWhere()メソッドについてメモ書き。
lastIndexWhere()メソッドは第1引数で指定した条件を満たす値を配列末尾から検索し、初めに見つかったインデックス位置を返す。第2引数で検索を開始するインデックス位置を指定できる。第2引数はオプション引数で、省略した場合は末尾から検索する。要素が存在しない場合は”-1″を返す。
コーディングでlastIndexWhere()メソッドを確認。
void main() {
try {
final listTest = <String>[
"Apple",
"Orange",
"Banana",
"grape",
"Banana",
];
final last =
listTest.lastIndexWhere((element) => element.startsWith("Ban"));
print(last);
} catch (e) {
print(e.toString());
}
}
実行結果。
末尾から検索し初めに見つかった文字列先頭が”Ban”のインデックス位置を返している。
4
次は第2引数でインデックス位置”3″を指定して実行。
void main() {
try {
final listTest = <String>[
"Apple",
"Orange",
"Banana",
"grape",
"Banana",
];
final last =
listTest.lastIndexWhere((element) => element.startsWith("Ban"), 3);
print(last);
} catch (e) {
print(e.toString());
}
}
実行結果。
検索開始位置がインデックス3で、0に向かって検索するのでインデックス位置”2″を返す。
2
最後は存在しない値を指定。
void main() {
try {
final listTest = <String>[
"Apple",
"Orange",
"Banana",
"grape",
"Banana",
];
final last =
listTest.lastIndexWhere((element) => element.startsWith("ban"));
print(last);
} catch (e) {
print(e.toString());
}
}
実行結果。
該当する要素が存在しないため”-1″を返す。
-1
コメント