Dart中Map对象的map()方法使用及常见报错解决
错误原因
Map.map() 方法的回调函数要求返回 MapEntry 类型对象,你当前代码直接返回了Map字面量,类型不匹配才触发编译报错。
正确写法
void main() { Map myMap={"a":1, "b":2}; print(myMap); // 输出 {a: 1, b: 2} print(myMap.map((k,v) { k=k+k; v=v*10; // 返回MapEntry对象即可 return MapEntry(k, v); })); // 输出 {aa: 10, bb: 20} }
核心用法说明
- 遍历原Map的所有键值对,每一组都会传入你定义的回调函数,第一个入参为当前键,第二个为当前值
- 你可以在回调内自定义键、值的转换逻辑
- 转换完成后返回
MapEntry(新键, 新值),方法会自动将所有返回的Entry组装为新的Map,不会修改原Map的内容
内容的提问来源于stack exchange,提问作者chongman
相关产品推荐
相关产品推荐

