median property

double? get median

Median value, or null if empty. Averages the two middle values for even-length iterables.

Implementation

double? get median {
  if (isEmpty) return null;
  final sorted = toList()..sort();
  final mid = sorted.length ~/ 2;
  return sorted.length.isOdd
      ? sorted[mid].toDouble()
      : (sorted[mid - 1] + sorted[mid]) / 2;
}