double nearestValue(double goal, List<double> array) { return array.reduce((prev, curr) { return (curr - goal).abs() < (prev - goal).abs() ? curr : prev; }); }