我正在尝试从数组中删除项目,但它不能像它应该的那样工作。 这是我的代码:
for(var i:uint = 0;i<OrderModel.getInstance().orders.length; i++){
if (OrderModel.getInstance().orders[i].time == hour){
OrderModel.getInstance().orders.splice(i, 1);
}
}
它会删除所有项目,但是1.我总是有一个项目需要删除,但它不是。有什么想法吗?
答案 0 :(得分:1)
尝试使用:
for(var i:int = OrderModel.getInstance().orders.length - 1;i >= 0; i--){
if (OrderModel.getInstance().orders[i].time == hour){
OrderModel.getInstance().orders.splice(i, 1);
}
}
答案 1 :(得分:1)
for(var i:uint = 0;i<OrderModel.getInstance().orders.length; ){
if (OrderModel.getInstance().orders[i].time == hour){
OrderModel.getInstance().orders.splice(i, 1);
}
else
i++;
}
这可能更简单:
for(var i:uint = 0;i<OrderModel.getInstance().orders.length; i++){
if (OrderModel.getInstance().orders[i].time == hour){
OrderModel.getInstance().orders.splice(i, 1);
i--; // if we remove an item, we move the index back
}
}