<?xml version="1.0"?>
<!-- textcontrols/StyleSheetExample.mxml -->
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark" creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.Button;
import mx.controls.Label;
public function init():void{
//ref link: http://livedocs.adobe.com/flex/3/html/help.html?content=10_Lists_of_data_3.html
var array:Array=new Array();
var theLabel:Label=new Label();
theLabel.text="aa";
array.push({name: "aaa", label:theLabel});
theLabel=new Label();
theLabel.text="dd";
array.push({name: "ddd", label:theLabel});
theLabel=new Label();
theLabel.text="cc";
array.push({name: "ccc", label:theLabel});
//get array length
trace("length="+array.length);
trace("===test iterate===");
//iterate array
for (var i:int = 0; i < array.length; ++i){
trace(array[i].name);
}
//sort array
trace("===test sort===");
array.sortOn("name");
for (var i:int = 0; i < array.length; ++i){
trace(array[i].name);
}
//get index by key
trace("===test search key===");
var search:String="ccc";
for (var i:int = 0; i < array.length; ++i){
if(array[i].name==search){
trace(i);
break;
}
}
//insert element to 0 and 1 element之间
trace("===test insert===");
theLabel=new Label();
theLabel.text="bb";
array.splice(1,0,{name: "bbb", label:theLabel});
for (var i:int = 0; i < array.length; ++i){
trace(array[i].name);
}
//delete element (不能使用 "delete array[2]"代码,因为这只会把array[2] element变成undefine,而不会remove it from array
trace("===test delete===");
array.splice(2,1); //delete 第3个element,如果是array.splice(2,2),则是delete第3和4个element
for (var i:int = 0; i < array.length; ++i){
trace(array[i].name);
}
trace(Label(array[1].label).text);
}
]]>
</fx:Script>
</s:Application>
flex array操作
最新推荐文章于 2018-10-16 21:58:42 发布