minimumBy method

Option<T> minimumBy(
  1. Order<T> order
)

The least element of this Iterable based on order.

If the list is empty, return None.

Implementation

Option<T> minimumBy(Order<T> order) {
  var it = iterator;
  if (it.moveNext()) {
    T min = it.current;
    while (it.moveNext()) {
      if (order.compare(it.current, min) < 0) {
        min = it.current;
      }
    }
    return some(min);
  }
  return const None();
}