Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 遍历嵌套映射时的空感知运算符_Dart - Fatal编程技术网

Dart 遍历嵌套映射时的空感知运算符

Dart 遍历嵌套映射时的空感知运算符,dart,Dart,访问二级贴图元素时如何检查空值? 例如 如果项不包含客户端 我想要一些像 item['client']?['name'] 或 但这不会编译 当然,我可以做两次item['client'],或者为它引入一个局部变量,但这感觉不太好。我认为这类似于 基本上,这将是您案例的解决方案: (项目['client']??const{})['name'] 这就利用了??操作符,如果项中不存在'client',的情况下,该操作符只返回一个空映射。使用putIfAbsent,您可以使用?操作符 item.pu

访问二级贴图元素时如何检查空值? 例如

如果
不包含
客户端
我想要一些像

item['client']?['name']

但这不会编译

当然,我可以做两次
item['client']
,或者为它引入一个局部变量,但这感觉不太好。

我认为这类似于

基本上,这将是您案例的解决方案:

(项目['client']??const{})['name']

这就利用了
??
操作符,如果
项中不存在
'client'
的情况下,该操作符只返回一个空映射。使用
putIfAbsent
,您可以使用
操作符

item.putIfAbsent(“客户端”,(){})
?putIfAbsent(“名称”,({});

不,我不想更改地图内容。对,它看起来像是重复的。很抱歉
item['client']?['name']
item['client']?.['name']