Удалить отфильтрованные элементы из ArrayCollection в ActionScript3
У меня есть большая переменная ArrayCollection. Я хочу отфильтровать его несколько раз и каждый раз присваивать отфильтрованный результат другой переменной ArrayCollection.
Так что если есть, скажем, люди, фрукты и машины. (для наглядности) Я хочу сначала отфильтровать его, чтобы показать только людей, назначить результат ArrayCollection для людей, затем отфильтровать его, чтобы показать фрукты и назначить ArrayCollection для фруктов и так далее.
Как я могу это сделать? Не фильтрация, а назначение после фильтрации. Или быстрее вместо этого запустить цикл for через большую коллекцию ArrayCollection и просто добавить каждый элемент в соответствующую меньшую коллекцию ArrayCollection?
1 ответ
Ты можешь использовать 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();