首页 > 解决方案 > 将动态映射添加到 for 循环中的列表

问题描述

我的地图很少(动态的)。我想像这样将它们添加到列表 (List<Map<String,dynamic>>) -> 中。我尝试使用 .add 添加但抛出错误

Error:
type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'List<Map<dynamic, dynamic>>' of 'function result'

飞镖代码:

    final List<Map<String, dynamic>> teamName = [{'teamName': 'Spartans'}, {'teamName': 300}];
    final List<Map<String, dynamic>> captainName = [{'captainName': 'ABC'}, {'captainName': 'XYZ'}];
    final List<Map<String, dynamic>> correctValue = [];
        for (var i = 0; i < teamName.length; i++) {
          for (var j = i; j < captainName.length; j++) {
            final Map<String, dynamic> currentValue = {
              'teamname': teamName[i]['teamName'],
              'captainname': captainName[j]['captainName']
            };
            correctValue.add(currentValue);
            break;
          }
        }
        print('end result is $correctValue');

我希望我的结果像
[{teamName: Spartans, captainName: ABC}, {teamName: 300, captainName: XYZ}]

标签: flutterdart

解决方案


void main() {
List<Map<dynamic, dynamic>> correctValue = [];
var teamName = [
    {"teamName": "Spartans"},
    {"teamName": "300"}
];
var captainName = [
    {"captainName": "ABC"},
    {"captainName": "XYZ"}
];
for (var i = 0; i < teamName.length; i++) {
    for (var j = i; j < captainName.length; j++) {
        var currentValue = {
            'teamname': teamName[i]['teamName'],
            'captainname': captainName[j]['captainName']
        };
        correctValue.add(currentValue);
        break;
    }
}
print('end result is $correctValue');
}

经过一些修改后,您的代码对我有用。


推荐阅读