Apache flex 如何在没有循环的情况下从flex中的arraycollection获取特定项目计数
例如:我有一个数组集合,其中包含姓名、标准、年龄等。 我只想知道标准“x”的学生人数。Apache flex 如何在没有循环的情况下从flex中的arraycollection获取特定项目计数,apache-flex,arraycollection,Apache Flex,Arraycollection,例如:我有一个数组集合,其中包含姓名、标准、年龄等。 我只想知道标准“x”的学生人数。 如何在没有循环的flex ArrayCollection中实现这一点。下面的代码可能会帮助您:-您可以对ArrayCollection使用filterFunction <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xm
如何在没有循环的flex ArrayCollection中实现这一点。下面的代码可能会帮助您:-您可以对ArrayCollection使用filterFunction
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
private var filterValue:String = "X";
private var myArrayCollection:ArrayCollection = new ArrayCollection(
[{label:"I", data:"first std"},
{label:"II", data:"Second std"},
{label:"III", data:"Third std"},
{label:"V", data:"Fifth std"},
{label:"VI", data:"Sixth std"},
{label:"IX", data:"Ninth std 1"},
{label:"X", data:"Tenth std 1"},
{label:"IX", data:"Ninth std 2"},
{label:"X", data:"Tenth std 2"},
{label:"X", data:"Tenth std 3"}]
);
private function getLengthOfArrayCollection():void
{
myArrayCollection.filterFunction = filterFunctionHandler;
myArrayCollection.refresh();
trace(myArrayCollection.length+" --")
}
private function filterFunctionHandler(item:Object):Boolean
{
var value:Boolean = false;
if(item.label == filterValue)
{
value = true;
}
return value;
}
]]>
</fx:Script>
<s:layout>
<s:HorizontalLayout />
</s:layout>
<s:Button label="Click for Filter" click="getLengthOfArrayCollection()" skinClass="MyButtonSkinClass"/>
</s:Application>
嗯,这仍然使用循环;ArrayCollection只是对循环进行抽象,因此您不必自己编写。这种方法可能会改变任何使用ArrayCollection作为数据提供程序的基于列表的类的可视显示,这可能毫无价值。我有另一个主意。使用XML处理数据。这很容易,我想做什么就做什么。我认为没有办法。你为什么问这个?听起来很奇怪。要在数组中查找内容,需要循环。或者,如果您从数据库加载数据,只需返回一个额外的结果集和您的条件计数。