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

Flutter如何将含双键Map的列表转换为单个Map?

在Flutter中将包含Map的列表转换为单个Map的实现方法

你提供的results是嵌套列表结构(外层多了一层数组),需要先获取内层的元素列表,之后可以通过以下几种方式完成转换:

方法1:forEach循环(直观易懂)

// 提取内层的Map列表
List<Map> innerList = results.first;
Map shorts = {};

innerList.forEach((item) {
  shorts[item['key']] = item['value'];
});

方法2:fold方法(函数式聚合)

通过fold将列表直接聚合为目标Map,代码更紧凑:

List<Map> innerList = results.first;
Map shorts = innerList.fold({}, (prev, item) {
  prev[item['key']] = item['value'];
  return prev;
});

方法3:Map.fromEntries(最简洁写法)

利用Map.fromEntries结合列表map方法,一行代码完成转换:

List<Map> innerList = results.first;
Map shorts = Map.fromEntries(
  innerList.map((item) => MapEntry(item['key'], item['value']))
);

补充说明

如果你的results本身是单层列表(即没有外层的[]包裹),直接移除results.first这一步即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:00:19