1
我是haxe的新手,我需要在元素字典上迭代時刪除項目。 Haxe可能嗎?如何在移除項目時迭代地圖?
我是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}
與例如邊玩邊遍歷地圖的鍵,可以刪除。
trace("Remove every 2nd key");
for(k in myMap.keys())
{
if(k % 2 == 0)
myMap.remove(k);
}
在這裏看到我的例子:https://try.haxe.org/#d3525
有沒有保證的'鍵()'迭代器將插入/刪除處理(因爲它與'迭代器()')。大多數目標都會爲'keys()'創建一個List或者Array,所以它們是安全的,但並不是所有的都可以這樣做(即[想到Java](https://github.com/HaxeFoundation/haxe/blob/5979a08/) STD/JAVA/_std/haXe的/ DS/StringMap.hx#L386))。 –