Dart 如何绘制地图? Map={ “abc”:“abc” }; map.entries.map((f){ 印刷品(f); }); List.from(map.entries).map((f){ 印刷品(f); });

Dart 如何绘制地图? Map={ “abc”:“abc” }; map.entries.map((f){ 印刷品(f); }); List.from(map.entries).map((f){ 印刷品(f); });,dart,Dart,没有打印任何文字!为什么? .map()(与iterables上的其他几个方法一样)是惰性的。它仅在迭代结果时执行 您可以使用.toList()执行惰性方法: Map<String, dynamic> map = { 'abc': 'abc' }; map.entries.map((f){ print(f); }); List.from(map.entries).map((f){ print(f); }); 或 tanks,你说得对,实际上你的例子forEach

没有打印任何文字!为什么?

.map()
(与iterables上的其他几个方法一样)是惰性的。它仅在迭代结果时执行

您可以使用
.toList()
执行惰性方法:

Map<String, dynamic> map = {
    'abc': 'abc'
};

map.entries.map((f){
  print(f);
});

List.from(map.entries).map((f){
  print(f);
});


tanks,你说得对,实际上你的例子
forEach()
map()
更合适
forEach()
也会导致执行惰性方法,例如,
map()
toList()
的组合。@Ma Mars我一开始没见过,但你问题的结尾包含了一些“奇怪”的文本,我理解这些文本让一些人感到不安,并导致他们投了接近票和被否决票。StackOverflow问题不仅针对提问者,还针对遇到类似问题的未来访客建立知识库。这就是为什么社区对问题和答案的质量很挑剔。
  map.entries.map((f) {
    print(f);
  }).toList();
  var result = map.entries.map((f) {
    print(f);
    return '${f.key} - ${f.value}';
  });

  for(final item in result) {
    print(item);
  }