firstWhere method
override
Returns the first element that satisfies the given predicate test
.
Iterates through elements and returns the first to satisfy test
.
If no element satisfies test
, the result of invoking the orElse
function is returned.
If orElse
is omitted, it defaults to throwing a StateError.
Implementation
E firstWhere(bool test(E element), {E orElse()}) {
int length = this.length;
for (int i = 0; i < length; i++) {
E element = this[i];
if (test(element)) return element;
if (length != this.length) {
throw ConcurrentModificationError(this);
}
}
if (orElse != null) return orElse();
throw IterableElementError.noElement();
}