singleWhere method

E singleWhere(bool test(E element))

Returns the single element that satisfies test.

Checks all elements to see if test(element) returns true. If exactly one element satisfies test, that element is returned. Otherwise, if there are no matching elements, or if there is more than one matching element, a StateError is thrown.

Source

E singleWhere(bool test(E element)) {
  E result = null;
  bool foundMatching = false;
  for (E element in this) {
    if (test(element)) {
      if (foundMatching) {
        throw IterableElementError.tooMany();
      }
      result = element;
      foundMatching = true;
    }
  }
  if (foundMatching) return result;
  throw IterableElementError.noElement();
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/Iterable/singleWhere.html