首页 > 解决方案 > 有条件地添加到地图

问题描述

我有一个地图,只有当它们满足条件时我才想向其中添加元素。

例如,如果对于键ab,是否有这样的工作?

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

因此ab除非满足条件,否则不会出现在地图中

例如对于反应是这样的

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

标签: flutterobjectdart

解决方案


在 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');
    }
  }
}

推荐阅读