В ArrayCollection нужно подсчитать записи в поле

Flash Builder 4, AS3.

В ArrayCollection необходимо подсчитать записи в поле, например, нужно знать, сколько пользователей имеют возраст 25 лет. Это поставщик данных ArrayCollection для моего DataGrid.

В SQL это легко, достаточно команды: выбрать возраст, количество (возраст) из сотрудников, где возраст = '25';

Но ArrayCollection попробовал несколько способов и не смог, может кто-нибудь мне помочь?

Большое тебе спасибо!


person user2530802    schedule 01.07.2013    source источник


Ответы (1)


Это должно работать, если предположить, что ArrayCollection имеет объекты с полем age:

var ac:ArrayCollection = new ArrayCollection([ { "name":"test1", "age":25 }, { "name":"test1", "age":20 }, { "name":"test1", "age":25 } ]);
var count:int = 0;
for each (var item:Object in ac) 
{
    if (item.age == 25)
        ++count;
}
trace(count);
person Barış Uşaklı    schedule 02.07.2013
comment
+1; Это самый прямой подход. Вы также можете применить фильтр к ArrayCollection, а затем использовать длину после применения ArrayCollection. Однако это также повлияет на отображение любых компонентов, использующих коллекцию в качестве поставщика данных. - person JeffryHouser; 02.07.2013