indexWhere 方法
override
列表中满足提供 test
条件的第一个索引。
从索引 start
开始搜索列表至列表末尾。遇到第一个使 test(o)
为真的对象 o
时,返回 o
的索引。
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
如果 element
未找到,则返回 -1。
final notes = <String>['do', 're', 'mi', 're'];
final index = notes.indexWhere((note) => note.startsWith('k')); // -1
实现
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;
}