Haxe在迭代期间添加或删除项目

时间:2014-12-11 20:42:13

标签: list iteration add haxe

在Haxe中迭代时,可以在列表中添加和删除项目吗?或者它可以创造一个奇怪的行为? 我很怀疑,因为在C#中完全禁止这样做。

archip

2 个答案:

答案 0 :(得分:6)

标记为正确的答案是跳过第一个元素。 正确的代码将是:

var i:Int = 0;      
while (i < array.length) {
    if (removeCondition) {
        array.splice(i, 1);
    } else i++;
}

另外,如果你不介意反向迭代:

var i = array.length;
while (i-- > 0) 
   if (removeCondition) 
      array.splice(i, 1);

答案 1 :(得分:-2)

它没有很好地结束..你可以迭代数组并删除元素:

var i:Int = 0;      
while (i < array.length) {
    i++;
    if (removeCondition) {
        array.splice(i, 1);
        i--;
    }
}

编辑如果您使用列表,则该方法应该类似,到目前为止还没有使用列表。