将Map <key,value =“”>转换为List <value>

时间:2019-03-17 21:19:46

标签: list dictionary dart flutter type-conversion

我已经搜索了一段时间没有成功。我正在尝试将地图转换为列表(丢弃键)。

好的,我可以

var addictionList = new List<AddictionDay>();
dataMan.forEach((String date, AddictionDay day) {
    addictionList.add(day);
});

但是还有更直接的方法,例如

var addictionList = dataMan.toList(); 

Map的

map函数似乎并没有太大帮助,因为它仅接受MapEntry<K2, V2>作为参数,因此无法使用。以前没有人问过这个问题,这真让我感到惊讶。

我也在考虑扩展Map的新类,但是现在,我只是在寻找一些本机的方法(如果存在)。

2 个答案:

答案 0 :(得分:2)

Map类具有entries属性,该属性以迭代方式返回地图项,您可以在其上使用map函数生成所需的项目列表。

var addictionList = dataMan.entries.map((MapEntry mapEntry) => mapEntry.value).toList();

mapEntry.keyString的类型,而mapEntry.valueAddictionDay的类型。

答案 1 :(得分:2)

您需要这个或更复杂的东西吗?

  var _map = {1: 'one', 2: 'two', 3: 'three'};
  var values =_map.values.toList();
  print(values);

结果:

[one, two, three]