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
相关产品推荐
相关产品推荐

