我有一个大的ArrayCollection变量。我想过滤它几次,每次将过滤的结果分配给不同的ArrayCollection变量。
假设它有人,水果和汽车。(举例说明)我想首先将其过滤为只显示人,然后将结果分配给people ArrayCollection,然后将其过滤为显示水果,并将其分配给fruits ArrayCollection,以此类推。
我该怎么做呢?不是过滤,而是过滤后的分配。或者是更快地运行一个for循环,通过大的ArrayCollection,只是将每个项目添加到相应的较小的ArrayCollection?
您可以使用mx.collections.ListCollectionView
。假设您有以下原始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();