lastIndexWhere method
override
The last index in the list that satisfies the provided test.
Searches the list from index start to 0. The first time an object o is encountered so that test(o) is true, the index of o is returned. If start is omitted, it defaults to the length of the list.
var notes = ['do', 're', 'mi', 're'];
notes.lastIndexWhere((note) => note.startsWith('r')); // 3
notes.lastIndexWhere((note) => note.startsWith('r'), 2); // 1 Returns -1 if element is not found.
notes.lastIndexWhere((note) => note.startsWith('k')); // -1 Implementation
int lastIndexWhere(bool test(E element), [int? start]) {
if (start == null || start >= this.length) start = this.length - 1;
// TODO(38493): The previous line should promote.
if (start == null) throw "!";
for (int i = start; i >= 0; i--) {
if (test(this[i])) return i;
}
return -1;
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-collection/ListMixin/lastIndexWhere.html