如何在删除项目时在地图上迭代?

How to iterate on map while removing items?

我是 haxe 的新手,我需要在迭代元素字典时删除项目。这在 Haxe 中可行吗?

是的,有可能。

    var map:Map<Int, String> = [100 => 'a', 101 => 'b', 102 => 'c'];

    trace(map); // {100 => a, 101 => b, 102 => c}

    for (v in map.keys()){
         if (v == 101) map.remove(v);
    }

    trace(map); // {100 => a, 102 => c}

您可以在 https://try.haxe.org/#AE894

上试一试示例

您可以在遍历地图的键时删除。

trace("Remove every 2nd key");
for(k in myMap.keys())
{
  if(k % 2 == 0)
     myMap.remove(k);
}

在此处查看我的示例:https://try.haxe.org/#d3525