minBy<K extends Comparable<K>> method

T? minBy<K extends Comparable<K>>(
  1. K keyOf(
    1. T
    )
)

Element with minimum keyOf value; null if empty.

Implementation

T? minBy<K extends Comparable<K>>(K Function(T) keyOf) {
  T? minElem;
  K? minKey;
  for (final T element in this) {
    final K key = keyOf(element);
    if (minKey == null || key.compareTo(minKey) < 0) {
      minKey = key;
      minElem = element;
    }
  }
  return minElem;
}