我已经搜索了一段时间没有成功。我正在尝试将地图转换为列表(丢弃键)。
好的,我可以
var addictionList = new List<AddictionDay>();
dataMan.forEach((String date, AddictionDay day) {
addictionList.add(day);
});
但是还有更直接的方法,例如
var addictionList = dataMan.toList();
?
Map的 map
函数似乎并没有太大帮助,因为它仅接受MapEntry<K2, V2>
作为参数,因此无法使用。以前没有人问过这个问题,这真让我感到惊讶。
我也在考虑扩展Map的新类,但是现在,我只是在寻找一些本机的方法(如果存在)。
答案 0 :(得分:2)
Map类具有entries属性,该属性以迭代方式返回地图项,您可以在其上使用map函数生成所需的项目列表。
var addictionList = dataMan.entries.map((MapEntry mapEntry) => mapEntry.value).toList();
mapEntry.key
是String
的类型,而mapEntry.value
是AddictionDay
的类型。
答案 1 :(得分:2)
您需要这个或更复杂的东西吗?
var _map = {1: 'one', 2: 'two', 3: 'three'};
var values =_map.values.toList();
print(values);
结果:
[one, two, three]