Actionscript 3 从ActionScript3中的ArrayCollection中删除筛选出的元素

Actionscript 3 从ActionScript3中的ArrayCollection中删除筛选出的元素,actionscript-3,arraycollection,Actionscript 3,Arraycollection,我有一个很大的ArrayCollection变量。 我想对其进行多次筛选,每次都将筛选结果分配给不同的ArrayCollection变量 所以如果它有人,水果和汽车。(用于说明) 我想先过滤它以仅显示人物,将结果分配给人物ArrayCollection,然后过滤它以显示水果并将其分配给水果ArrayCollection,依此类推 我该怎么做?不是筛选,而是筛选后的分配。 或者在大的ArrayCollection中运行for循环并将每个项添加到相应的小ArrayCollection中会更快吗?您可

我有一个很大的ArrayCollection变量。 我想对其进行多次筛选,每次都将筛选结果分配给不同的ArrayCollection变量

所以如果它有人,水果和汽车。(用于说明) 我想先过滤它以仅显示人物,将结果分配给人物ArrayCollection,然后过滤它以显示水果并将其分配给水果ArrayCollection,依此类推

我该怎么做?不是筛选,而是筛选后的分配。 或者在大的ArrayCollection中运行for循环并将每个项添加到相应的小ArrayCollection中会更快吗?

您可以使用它。假设您有以下原始
阵列集合

var myCollection:ArrayCollection;
现在人们:

var peopleList:ListCollectionView = new ListCollectionView(myCollection);
peopleList.filterFuntion = peopleFilterFuntion;
peopleList.refresh();
水果也一样:

var fruitsList:ListCollectionView = new ListCollectionView(myCollection);
fruitsList.filterFuntion = fruitsFilterFuntion;
fruitsList.refresh();
和汽车:

var carsList:ListCollectionView = new ListCollectionView(myCollection);
carsList.filterFuntion = carsFilterFuntion;
carsList.refresh();

当filterFunction设置为null时,被过滤掉的变量不是保存在内存中吗?据我所知,
ListCollectionView
不创建新的基础集合,而是使用原始的
ArrayCollection
。所以它不会为元素占用额外的内存。