flex中actionscript 3 for循环的基础知识

waw*_*gna 0 apache-flex actionscript-3

早安stackoverflow ...我遇到了问题....这是我的示例代码

var i:Number = new Number();

trace("showarray length" + showArray.length);

for(i=0;i<showArray.length;i++){

    trace("equal daw" + showArray.getItemAt(i).id + "==" + num);

    if(showArray.getItemAt(i).id == num){
        showArray.removeItemAt(i);

    }
}
trace('alerts');
Run Code Online (Sandbox Code Playgroud)

myproblem这里是......无论if何时满足它都会停止循环,它会立即退出循环

这是一个示例输出,因为showArray的长度是2而num = 0

showarray length2

等于daw0 == 0

警报

请帮我

alx*_*lxx 8

如果要在迭代数组时删除项目,请按相反顺序迭代.这样,元素移除不会影响循环条件:

for (var i:int = showArray.length - 1; i >= 0; i--) {
    if (someCondition) {
        showArray.removeItemAt(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

另一个小奖励,它稍微快一点,因为它不会在每一步调用showArray.length.