indexWhere method
The first index in the list that satisfies the provided test
.
Searches the list from index start
to the end of the list.
The first time an object o
is encountered so that test(o)
is true,
the index of o
is returned.
final notes = <String>['do', 're', 'mi', 're'];
final first = notes.indexWhere((note) => note.startsWith('r')); // 1
final second = notes.indexWhere((note) => note.startsWith('r'), 2); // 3
Returns -1 if element
is not found.
final notes = <String>['do', 're', 'mi', 're'];
final index = notes.indexWhere((note) => note.startsWith('k')); // -1
Implementation
@override
int indexWhere(Predicate<T> test, [int start = 0]) {
final index = list.lastIndexWhere(test, start == 0 ? null : start);
return (index == -1) ? -1 : list.length - index - 1;
}