如何使用地图打印列表元素?

时间:2019-07-31 08:14:04

标签: dart

我想打印List中的所有元素。我不确定map是否适合。我可以做类似的事情吗?

  List<Map<String, dynamic>> MyJsonString = [
    {"id": 1, "name": "mike", "code": "01"},
    {"id": 2, "name": "piter", "code": "02"}
  ];
  MyJsonString.map((a) => print(a));

1 个答案:

答案 0 :(得分:0)

不确定您想要什么,但我想以下是您想要的?

void main() {
  List<Map<String, dynamic>> MyJsonString = [
    {"id": 1, "name": "mike", "code": "01"},
    {"id": 2, "name": "piter", "code": "02"}
  ];
  MyJsonString.forEach(print);
}

您的问题是您使用的是返回Iterable的map方法。 Iterable的计算是惰性的,因此只有在使用Iterable时(例如,在Iterable上使用toList方法将其转换为列表),才会为您提供map方法的方法:

void main() {
  List<Map<String, dynamic>> MyJsonString = [
    {"id": 1, "name": "mike", "code": "01"},
    {"id": 2, "name": "piter", "code": "02"}
  ];
  MyJsonString.map((a) => print(a)).toList();
}

但是由于您只想在每个元素上运行该方法,因此可以只使用forEach方法,如第一个示例所示。