median method
Returns the median of the elements in this collection.
Empty collections throw an error.
null
values are ignored.
Implementation
double median() {
if (length == 0) throw StateError('No elements in collection');
final List<num> values = List.from(toList()
..removeWhere((item) => item == null))
..sort();
final size = values.length;
if (size.isOdd) {
return values[(size / 2).floor()].toDouble();
} else {
final x = values[(size / 2).floor()];
final y = values[(size / 2).floor() - 1];
return (x + y) / 2;
}
}