首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter:如何合并两个对象并对同一键的值求和?

Flutter:如何合并两个对象并对同一键的值求和?
EN

Stack Overflow用户
提问于 2021-10-17 09:20:37
回答 2查看 169关注 0票数 0

map1 ={ "a":10,"b":6 },map2 ={ "a":10,"b":6,"c":7,"d":8 };

Flutter:如何合并两个对象并对同一键的值求和?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-17 09:42:23

对最长的映射执行forEach,并检查小映射是否包含键,如果包含,则使用总和更新值或添加新的值。

代码语言:javascript
复制
  map2.forEach((key, value) {
    if (map1.containsKey(key)) {
      map1[key] = value + map1[key]!;
    } else {
      map1[key] = map2[key]!;
    }
  });

map1将是最终结果。

票数 1
EN

Stack Overflow用户

发布于 2021-10-17 09:50:47

因此,如果您想合并/合并这两个地图,请使用以下代码this answer

代码语言:javascript
复制
final firstMap = {"1":"2"};
final secondMap = {"2":"3"};

final thirdMap = { // here simple adding element to map
...firstMap,
...secondMap,
};

但是,如果您想进行求和合并,请使用以下代码:

代码语言:javascript
复制
map2.forEach((k, v) {
if (map1.containsKey(k)) { // check if the map has more then 2 values as the 1st one
  map1[k] = v + map1[k]!; // if yes so make the some
} else {
  map1[k] = map2[k]!; // if no then add the values to map
}
});

见见普拉贾帕蒂吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69602905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档