indexWhere method
override
Returns 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.
List<String> notes = ['do', 're', 'mi', 're'];
notes.indexWhere((note) => note.startsWith('r')); // 1
notes.indexWhere((note) => note.startsWith('r'), 2); // 3
Returns -1 if element
is not found.
notes.indexWhere((note) => note.startsWith('k')); // -1
Implementation
int indexWhere(bool test(E element), [int start = 0]) {
if (start < 0) start = 0;
for (int i = start; i < this.length; i++) {
if (test(this[i])) return i;
}
return -1;
}