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

Dart教程:如何为列表中的Map对象添加新键值对

给Dart列表中每个Map添加新键值对的实现方法

方法一:直接修改原列表中的Map

如果不需要保留原列表的原始状态,可以直接遍历列表,给每个Map对象添加新的键值对:

List<Map<String, dynamic>> list1 = [
    {
      'value': 'Value number one',
    },
    {
      'value': 'Value number two',
    },
  ];

// 遍历列表,为每个Map添加"item":0
for (var map in list1) {
  map['item'] = 0;
}

// 此时list1就是你想要的结果
print(list1);

这种方式会直接修改原列表中的Map对象,因为Dart的Map是引用类型,遍历拿到的map就是原列表里的对象实例。


方法二:生成新列表,保留原数据

如果需要保留原列表的原始状态,可以通过map方法创建新的Map对象,再生成新列表:

List<Map<String, dynamic>> list1 = [
    {
      'value': 'Value number one',
    },
    {
      'value': 'Value number two',
    },
  ];

// 生成包含新键值对的新列表
List<Map<String, dynamic>> newList = list1.map((originalMap) {
  // 用扩展运算符复制原Map的所有键值对,再添加新的键值对
  return {...originalMap, 'item': 0};
}).toList();

// newList是目标结果,原list1不受影响
print(newList);

这里使用了Dart的**扩展运算符...**来复制原Map的内容,避免修改原对象,适合需要保留原始数据的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:15:58