当前位置: 代码迷 >> Web前端 >> 关于Array和ArrayCollection的循环删除的有关问题
  详细解决方案

关于Array和ArrayCollection的循环删除的有关问题

热度:84   发布时间:2012-11-23 00:03:43.0
关于Array和ArrayCollection的循环删除的问题

根据Array得到索引循环删除ArrayCollection中的数据出现问题。

?

伪代码描述:

下面的代码能正常工作

for(var i:int,i<array.length;i++){

?arrayColleciont.removeItemAt(i);

}

下面的却不能:

for(var i:int=array.length-1,i<0;i--){

?arrayColleciont.removeItemAt(i);

}

?

?

真实代码:

注意:
unAssignedList assignedList mx.controls.List? ,它们的 dataprovider 分别是 unassignedDatas assignedDatas

?源码

?private?function?addBtn_clickHandler(event:MouseEvent):void{
???????????????var?selectedIndeies:Array?=?this.unAssignedList.selectedIndices;
????????????????var?selectedItems:Array=this.unAssignedList.selectedItems;

??????????????if(selectedItems.length<=0){
????????????????????????Alert.show("请选择 "+this.title," 选择 ");
????????????????????return;

?????????????}
????????????????//按升序排序
????????????????selectedItems.sort();
????????????????//构造数据源?

???????????????for(var?index1:uint=0;index1<selectedItems.length;index1++){

?????????????????assignedDatas.addItem(selectedItems[index1]);
????????????????}
???????????????????//下面的代码可以正常工作


????????????? selectedIndeies.sort(Array.DESCENDING);

???????????

?????????????for(var?index:int=0;index<selectedIndeies.length;index++){

??????????????????this.unassignedDatas.removeItemAt(selectedIndeies[index]);

??????????????}

?

?????????????????//下面蓝色的循环代码无法删除? unassignedDatas 的数据。

?

???????????????//selectedIndeies.sort();

?

????????????????? // ?????? for(var?index:int=selectedIndeies.length-1;index<0;index--){

?????????//??this.unassignedDatas.removeItemAt(selectedIndeies[index]);

//????????????????}

?

//??????????????将数据源提供给 List 以更新 View
????????????????this.assignedList.dataProvider=this.assignedDatas;
????????????????this.unAssignedList.dataProvider=this.unassignedDatas;
????????????}

1 楼 jblzdg 2010-05-14  
不好意思,本来就想在博客中记录下,没想到误操作,发到这里来。
被扣了分,郁闷中。
  相关解决方案