我有一个Map,我想只在满足条件的情况下添加元素。
例如,如果对于键a
和b
,是否存在这样的工作方式?
Map myMap = {
if a is not null "a" : a,
if b is not null and be is not empty "b": b,
}
所以a
和b
不会出现在地图上,除非满足条件
例如,对于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);
}