dart - 如何从Dart中的列表中找到最小值和最大值?
我已经尝试了以下代码段。但是它将引发有关类型转换的错误。因为列表具有整数和 double 值的组合。但是 **list.reduce(min)**返回唯一的整数值。因此,您能为这些人提供解决方案吗?提前致谢。 注意-但是,我从用户那里获得了唯一的动态列表。
final List y = [12, 12, 23.5, 2, 19, 1, 23, 16, 29.7, 32, 45, 68, 23, 21];
List yValues = y;
num yMin = yValues.reduce(min);
num yMax = yValues.reduce(max);
最佳答案
您正在编写List的类型为List
。由于min
和max
仅适用于num
类型,因此我们需要将列表中的每个元素cast
转换为num
,如下所示:
import 'dart:math';
void main() {
final List y = [12, 12, 23.5, 2, 19, 1, 23, 16, 29.7, 32, 45, 68, 23, 21];
final yMin = y.cast().reduce(min);
final yMax = y.cast().reduce(max);
print(yMin); // 1
print(yMax); // 68