You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter/Dart如何将Map<int, List<Map<String,dynamic>>>转为Map<int, List<StatisticsData>>

错误根因

Dart 中 Map 类的 map() 转换方法要求传入的闭包必须返回 MapEntry<K, V> 类型,你之前的写法直接返回了 {key: 处理后的值} 的 Map 字面量,类型不符合要求因此抛出报错。

修复代码

直接将转换逻辑里返回 Map 字面量的逻辑改为返回 MapEntry 即可:

Map<int, List<StatisticsData>> statisticsData = groupByType.map(
  (key, value) => MapEntry(
    key,
    value.map((e) => StatisticsData(e['date'], e['total'])).toList(),
  ),
);

修改后即可完成从 Map<int, List<Map<String, dynamic>>> 到 Map<int, List<StatisticsData>> 的类型转换。


内容的提问来源于stack exchange,提问作者hesham shawky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:24:02