【发布时间】:2021-05-07 19:44:03
【问题描述】:
例如,我有两张地图:
var map1 = {"a":"hello", "b":null};
var map2 = {"a":null, "b":"world"};
我想要的结果是:
{"a":"hello", "b":"world"}
【问题讨论】:
例如,我有两张地图:
var map1 = {"a":"hello", "b":null};
var map2 = {"a":null, "b":"world"};
我想要的结果是:
{"a":"hello", "b":"world"}
【问题讨论】:
map1.removeWhere((_, value) => value == null);
map2.removeWhere((_, value) => value == null);
final combinedMap = {...cleanMap1, ...cleanMap2};
【讨论】:
map1.removeWhere((_, value) => value == null); map2.removeWhere((_, value) => value == null); final combinedMap = {...map1, ...map2};
您可以遍历初始化为 map1 的合并中的每个 (key, value) 对,如果它不为 null,则用 map2 中的相应值替换该值。
var map1 = {"a":"hello", "b":null};
var map2 = {"a":null, "b":"world"};
var merged = map1;
for (const [key, value] of Object.entries(map2)) {
if (value !== null){
merged[key] = value;
}};
console.log(merged);
【讨论】: