【问题标题】:In an ArrayCollection need to count the records in a field在一个 ArrayCollection 中需要计算一个字段中的记录
【发布时间】:2013-07-01 23:57:06
【问题描述】:

Flash Builder 4,AS3。

在一个 ArrayCollection 中需要统计一个字段中的记录,例如需要知道有多少用户的年龄为 25。这是我的 DataGrid 的 ArrayCollection dataProvider。

在 SQL 中很简单,只需要命令: select age, count(age) from employees where age = '25';

但是 ArrayCollection 尝试了几种方法都失败了,有人可以帮帮我吗?

非常感谢!

【问题讨论】:

    标签: arrays actionscript-3 apache-flex flash-builder arraycollection


    【解决方案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);
    

    【讨论】:

    • +1;这是最直接的方法。您还可以对 ArrayCollection 应用过滤器,然后在应用 ArrayCollection 后使用长度。不过,这也会对使用该集合作为 dataProvider 的任何组件产生显示影响。
    猜你喜欢
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2017-09-11
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多