averageBy method

double averageBy(
  1. num selector(
    1. E element
    )
)

Returns the average of values returned by selector for all elements in the collection.

Implementation

double averageBy(num Function(E element) selector) {
  var count = 0;
  num sum = 0;

  for (final current in this) {
    sum += selector(current);
    count++;
  }

  if (count == 0) {
    throw StateError('No elements in collection');
  } else {
    return sum / count;
  }
}