Flutter:How 合并两个对象并对同一个键的值求和?
Flutter:How to merge two objects and sum the values of the same key?
map1 = { "a": 10, "b": 6 },
map2 = { "a": 10, "b": 6, "c": 7, "d": 8 };
Flutter:如何合并两个对象并对同一个键的值求和?
在最长的地图上执行 forEach 并检查小地图是否包含键,如果包含则用总和更新值或添加新值。
map2.forEach((key, value) {
if (map1.containsKey(key)) {
map1[key] = value + map1[key]!;
} else {
map1[key] = map2[key]!;
}
});
map1 将是最终结果。
所以,如果你想 combine/merge 这两个地图使用此代码 :
final firstMap = {"1":"2"};
final secondMap = {"2":"3"};
final thirdMap = { // here simple adding element to map
...firstMap,
...secondMap,
};
但是如果你想求和并合并使用这个:
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
}
});
遇见生者作为答案。
map1 = { "a": 10, "b": 6 }, map2 = { "a": 10, "b": 6, "c": 7, "d": 8 };
Flutter:如何合并两个对象并对同一个键的值求和?
在最长的地图上执行 forEach 并检查小地图是否包含键,如果包含则用总和更新值或添加新值。
map2.forEach((key, value) {
if (map1.containsKey(key)) {
map1[key] = value + map1[key]!;
} else {
map1[key] = map2[key]!;
}
});
map1 将是最终结果。
所以,如果你想 combine/merge 这两个地图使用此代码
final firstMap = {"1":"2"};
final secondMap = {"2":"3"};
final thirdMap = { // here simple adding element to map
...firstMap,
...secondMap,
};
但是如果你想求和并合并使用这个:
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
}
});
遇见生者作为答案。