有条件添加到Map中



我有一个Map,我想只在满足条件的情况下添加元素。

例如,如果对于键ab,是否存在这样的工作方式?

Map myMap = {
if a is not null "a" : a,
if b is not null and be is not empty "b": b,
}

所以ab不会出现在地图上,除非满足条件

例如,对于react,它是这样的

const myMap = {
...(a != null && { a: a }),
...(b != null && b.length > 0 && { b: b }),
};

在dartpad中试试:

void main() {
for (var a in [null, 15]) {
for (var b in [null, '', 'hello']) {
var myMap = {
if (a != null) 'a': a,
if (b != null && b.isNotEmpty) 'b': b,
};
print('a = $a, b = $b, myMap = $myMap');
}
}
}

在Dart中完全可以这样做!

return {
if (true) ...{'key': value},
};

Dartpad非常有用

void main() {
Map<String, String> myMap = new Map();    
Map<String,String> array = {"a":"apple","b":"g"}; 
array.forEach((key,value){ 
value.length> 0 ? myMap.addAll({key: value}): "";
});
print(myMap);
}

最新更新