flutter - 将动态映射添加到 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}]
解决方案
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');
}
经过一些修改后,您的代码对我有用。