Удалить отфильтрованные элементы из 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();
Другие вопросы по тегам