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

举报
坚果的博客 发表于 2021/12/16 00:13:24 2021/12/16
【摘要】 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);

  
 
  • 1
  • 2
  • 3
  • 4

最佳答案

您正在编写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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

文章来源: jianguo.blog.csdn.net,作者:坚果前端の博客,版权归原作者所有,如需转载,请联系作者。

原文链接:jianguo.blog.csdn.net/article/details/120612713

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。