如何将地图添加到 Dart 中的列表

How to add a map to a list in Dart

给定这个地图对象,

var _map = {
  'category': 'Africa', 
  'products': [
    {
      'countryName': 'Namibia', 
      'population': 1800000, 
      'capital': 'Windhoek', 
    }, 
    {
      'countryName': 'Kenya', 
      'population': 20000000, 
      'capital': 'Nairobi', 
    }, 
  ]};

我想将下面这张地图添加到值 'products',

var _newMap = {
  'countryName': 'Rwanda', 
  'population': 3000000, 
  'capital': 'Kigali', 
}, 

得到这样的结果,

{
  'category': 'Africa', 
  'products': [
    {
      'countryName': 'Namibia', 
      'population': 1800000, 
      'capital': 'Windhoek', 
    }, 
    {
      'countryName': 'Kenya', 
      'population': 20000000, 
      'capital': 'Nairobi', 
    },
    {
      'countryName': 'Rwanda', 
      'population': 3000000, 
      'capital': 'Kigali', 
    },  
  ]}

我如何在 Dart 中实现这一点。你会建议我做什么

快速而肮脏:

  final productsList = _map['products'] as List<Map<String,dynamic>>;
  productsList.add(_newMap);
  _map['products'] = productsList;

这是解决方案。

_map 类型从“var”更改为“Map '

Map<String, dynamic> _map = {
...
}
_map['products'].add(_newMap);