如何从Dart中的列表中找到最小值和最大值?

简介: dart - 如何从Dart中的列表中找到最小值和最大值?我已经尝试了以下代码段。但是它将引发有关类型转换的错误。因为列表具有整数和 double 值的组合。但是 **list.reduce(min)**返回唯一的整数值。因此,您能为这些人提供解决方案吗?提前致谢。

dart - 如何从Dart中的列表中找到最小值和最大值?

我已经尝试了以下代码段。但是它将引发有关类型转换的错误。因为列表具有整数和 double 值的组合。但是 **list.reduce(min)**返回唯一的整数值。因此,您能为这些人提供解决方案吗?提前致谢。

注意-但是,我从用户那里获得了唯一的动态列表。

 final List<dynamic> y = [12, 12, 23.5, 2, 19, 1, 23, 16, 29.7, 32, 45, 68, 23, 21];
 List<num> yValues = y;
 num yMin = yValues.reduce(min);
 num yMax = yValues.reduce(max);

最佳答案

您正在编写List的类型为List<dynamic>。由于minmax仅适用于num类型,因此我们需要将列表中的每个元素cast转换为num,如下所示:

import 'dart:math';
void main() {
  final List<dynamic> y = <dynamic>[12, 12, 23.5, 2, 19, 1, 23, 16, 29.7, 32, 45, 68, 23, 21];
  final yMin = y.cast<num>().reduce(min);
  final yMax = y.cast<num>().reduce(max);
  print(yMin); // 1
  print(yMax); // 68
相关文章
|
7月前
|
C语言
C语言之给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可,位置从1开始)。
C语言之给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可,位置从1开始)。
191 0
|
2月前
|
存储 算法 Java
Java:查找一个给定数组中的最大值和最小值
Java:查找一个给定数组中的最大值和最小值
|
5月前
|
算法 索引 Python
如何实现二分查找算法? 要求:编写一个Python函数,输入一个有序列表和一个目标值,返回目标值在列表中的索引。如果目标值不在列表中,返回-1。
如何实现二分查找算法? 要求:编写一个Python函数,输入一个有序列表和一个目标值,返回目标值在列表中的索引。如果目标值不在列表中,返回-1。
|
5月前
|
Java
2824. 统计和小于目标的下标对数目 --力扣 --JAVA
给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ,请你返回满足 0 <= i < j < n 且 nums[i] + nums[j] < target 的下标对 (i, j) 的数目。
26 0
|
11月前
|
Python
【Python】如何求得任意N个整数的最大值与最小值
【Python】如何求得任意N个整数的最大值与最小值
298 3
|
11月前
|
算法 前端开发
前端算法-查找旋排序数组中最小值
前端算法-查找旋转排序数组中最小值
|
12月前
006.AcWing 789. 数的范围 (001)以及二分法的模板讲解
应用场景 只要数组满足一条件就可将其划分,就可以用二分
60 0
006.AcWing 789. 数的范围 (001)以及二分法的模板讲解
|
Java
Java经典编程习题100例:第14例:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值, 最小值,平均值,和值,并输出出来
Java经典编程习题100例:第14例:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值, 最小值,平均值,和值,并输出出来
295 0
随机生成一个short型一维数组,从控制台输入一个数值,遍历数组查找,如果找到了,打印出该数在数组中的位置,如果没有查到,请将该数值插入并形成新的数组(要求降序)
随机生成一个short型一维数组,从控制台输入一个数值,遍历数组查找,如果找到了,打印出该数在数组中的位置,如果没有查到,请将该数值插入并形成新的数组(要求降序)
125 0