我已经克服了一个问题,但我的解决方案似乎效率低下且笨重。请考虑这个问题:
我有一个包含文章的数组。
此数组集合将过滤为当前选定的文章类别。
有一个光标绑定到一个显示当前文章的视图。
当一个类别被删除时,我需要删除orphened文章,我不能使用游标或集合而不影响视图,因为它们受到约束。
我可以在源代码上进行迭代,但如果我从源代码中删除(拼接),我必须打破并重新开始,因为所有文章索引都会更改,即使每个文章都使用它们。
这似乎是一种非常低效的处理方式,我确信有更好的方法可以做到这一点,通过在同一个源上使用另一个itterator,或解除unill我已完成更新的视图等等< / p>
如果我错过了一个技巧,请告诉我,因为我确信这是一个非常常见的问题/问题。
由于
罗布
P.S。在我的iPhone上写了这个。对不起任何错误!
答案 0 :(得分:1)
向后运行循环。
所以,而不是说:
var len:int = arr.length;
for(var i:int = 0; i < len; i++) {
if(some condition) {
arr.splice(i,1);
}
}
这样做:
for(var i:int = arr.length - 1; i >= 0; i--) {
if(some condition) {
arr.splice(i,1);
}
}
答案 1 :(得分:0)
最简单的解决方案可能只是保存您需要在临时数组中删除的索引。然后,在遍历集合之后,返回并删除临时数组中的项目。
但是从我可以收集的内容来看,你应该使用散列(Object)或其他东西而不是数组结构。