Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Map 从省道贴图中删除选定关键点_Map_Dart - Fatal编程技术网

Map 从省道贴图中删除选定关键点

Map 从省道贴图中删除选定关键点,map,dart,Map,Dart,Dart从地图中删除选定关键点的惯用方法是什么? 下面我使用一个临时的空列表来保存字符串键。 有没有更干净的方法 List emptyList=new List(); _objTable.keys.forEach((字符串名称){ if(_objTable[name].index.isEmpty){ emptyList.add(名称); 打印(“OBJ:删除空对象=$name从url加载=$url”); } }); emptyList.forEach((字符串名称)=>_objTable.re

Dart从地图中删除选定关键点的惯用方法是什么? 下面我使用一个临时的空列表来保存字符串键。 有没有更干净的方法

List emptyList=new List();
_objTable.keys.forEach((字符串名称){
if(_objTable[name].index.isEmpty){
emptyList.add(名称);
打印(“OBJ:删除空对象=$name从url加载=$url”);
} 
});
emptyList.forEach((字符串名称)=>_objTable.remove(名称));

您可以执行以下操作:

\u objTable.keys
.where((k)=>_objTable[k].index.isEmpty)//筛选键
.toList()//创建副本以避免并发修改
.forEach(_objTable.remove);//删除选定的关键点
只需执行以下操作:

_objTable.removeWhere((key, value) => key == "propertyName");

它也适用于嵌套地图。

非常有效,谢谢!我无法理解这个部分。但是forEach(_objTable.remove)。是否将_objTable.remove函数传递给.forEach()?这里,我传递函数以调用列表中的每个元素。基本上,它类似于
.forEach((名称)=>_objTable.remove(名称))
。有没有更干净的方法来删除嵌套映射?例如,这样的映射:
{“id”:123,“name”:“XXX”,person:{“id”:333,“name”:“ZZZZ”}
。我想从映射中删除
键='id'
。谢谢,帮助解决了我遇到的一个bug:)简单有效!