【问题标题】:Convert map into a list in dart将地图转换为飞镖中的列表
【发布时间】:2019-12-18 18:07:38
【问题描述】:

我正在尝试将地图转换为列表。我正在尝试使用 forEach() 方法。但我不知道我哪里出错了。有人可以帮忙吗?同样在将它们转换为列表后,我想访问它们的索引。怎么办?

例如:我有 2 张地图

Map foodMap = {
     value:50
     title:'food',
}

Map travelMap={
     value:30,
     title:'travel'
}

List<String> sampleList = [];

我想将我的两个地图转换成列表并将它们添加到 sampleList 中。

【问题讨论】:

  • 你有 Map.keysMap.values 属性
  • 你能详细说明吗?
  • 喜欢这个? datamap.values.forEach((p)=> sampleList.add(p));
  • 您想如何添加它们?地图和列表的结构不同,因此您不能只是“转换”它们。你能准确解释一下你最终会得到什么吗?

标签: flutter dart


【解决方案1】:
Map foodMap = {
  "value": 50,
  "title": 'food',
};

Map travelMap = {
  "value": 30,
  "title": 'travel',
};

Map<String, double> sampleList = {};

我想,这就是你想要添加两张地图的方式:

void _addToMappedList(Map<String, double> sampleList, Map newData) {
  String title = newData["title"];
  double value = double.tryParse(newData["value"].toString());

  sampleList[title] = value;
}

....

_addToMappedList(sampleList, foodMap);
_addToMappedList(sampleList, travelMap);

将地图列表合并为单个地图

List<Map> mapList = [/*Contains list of maps*/];
....
mapList.forEach((mapItem) => _addToMappedList(sampleList, travelMap))

访问他们的索引

print(sampleList.entries.elementAt(1));

【讨论】:

    猜你喜欢
    • 2021-06-21
    • 1970-01-01
    • 2020-05-10
    • 2021-10-07
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    相关资源
    最近更新 更多