Map dart,绘制地图的更好方法?

Map dart,绘制地图的更好方法?,map,dart,Map,Dart,我喜欢Iterable类上的.map((item){/*mapper*/}),但是map类似乎没有实现类似的方法。当我想执行以下操作时,我必须创建一个空白实例,然后在现有的映射上forEach,我想映射到新的实例类型: void noSuchMethod(调用inv){ if(inv.isMethod){ var namedArguments=新映射(); 存货名称(k,v){ namedArguments[MirrorSystem.getName(k)]=v; }); 返回; } super.

我喜欢
Iterable
类上的
.map((item){/*mapper*/})
,但是
map
类似乎没有实现类似的方法。当我想执行以下操作时,我必须创建一个空白实例,然后在现有的
映射上
forEach
,我想
映射到新的实例类型:

void noSuchMethod(调用inv){
if(inv.isMethod){
var namedArguments=新映射();
存货名称(k,v){
namedArguments[MirrorSystem.getName(k)]=v;
});
返回;
}
super.noSuchMethod(inv);
}

是否有更好的映射方法
Map
s?对于
Iterable
s有一个
forEach((v){})
,对于
Map
s有一个
forEach((k,v){})
,而对于
Map
s没有
Map((k,v){})
,这似乎有点奇怪。

Map m={'1':1,'2':2};
var newMap=newMap.fromIterable(m.keys,key:(k)=>k,value:(v)=>m[v]*5);

自Dart SDK 2.2.1以来,您可以使用语法。这适用于贴图和()

例如:

Map m={'1':1,'2':2};
最终新地图={
用于(变量k,单位为m.keys)
“${k}”:m[k]*5,
};
仅供参考

现在,您可以在Map类的每个实例中使用一个特殊的方法

final dict = { "id": 1, "name": "Alex", "isAdmin": true };
// A simple map, that contains a user's info

dict.map((key, value) => MapEntry(key, value.toString()));
// Here we can transform the key and the value of this map

print(dict);
// { "id": "1", "name": "Alex", "isAdmin": "true" }
// All fields are strings now

谢谢,这太好了,我现在就用这个,如果有一个
map((k,v){})
方法来
map
s,那就好了。你应该在dartbug.com上创建一个功能请求(如果还没有的话)。如果你真的在这里发布链接,这样人们就知道在哪里可以找到它,并且可以成为明星。太棒了!这比其他建议的解决方案更类似于List.map(),也更简洁。您可以将其粘贴到dartpad中以查看其工作情况。