sort(... args):Array※此例, 亂數產生100個數字, 存入陣列, 採用Array.sort()方法排序.
對陣列中的元素進行排序。
※Array.NUMERIC常數 : 將陣列元素視為數值,且預設為升冪排序.
※Array.DESCENDING常數 : 降冪排序.
1000608_Array.sort.swf
package {
import flash.display.MovieClip;
import flash.text.TextFormat;
import flash.text.TextField;
import fl.controls.UIScrollBar;
import fl.controls.ScrollBarDirection;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.ui.Mouse;
public class ArraySort_1000608 extends MovieClip {
private var figureArr:Array;
private var vScrollBar:UIScrollBar;
public function ArraySort_1000608() {
this.init();
this.addMouseEvent();
return;
}
private function init():void {
this.vScrollBar = new UIScrollBar();
this.createUIScrollBar();
return;
}
private function addMouseEvent():void {
this.newRandomArrayBtn.buttonMode = true;
this.newRandomArrayBtn.addEventListener(MouseEvent.CLICK,this.iniRandomArray);
this.sortArrayNumericBtn.buttonMode = true;
this.sortArrayNumericBtn.addEventListener(MouseEvent.CLICK,this.sortArrayNumeric);
this.sortArrayDescendingBtn.buttonMode = true;
this.sortArrayDescendingBtn.addEventListener(MouseEvent.CLICK,this.sortArrayDescending);
return;
}
/*亂數取值100次*/
private function iniRandomArray(event:MouseEvent):void {
this.figureArr = new Array();
for (var i:uint=0; i<100; i++) {
this.getRandomValue();
}
this.showInfo();
return;
}
/*亂數取值, 存入陣列*/
private function getRandomValue():void {
var newFigure:uint = Math.ceil(Math.random() * 1000);
this.figureArr.push(newFigure);
return;
}
private function sortArrayNumeric(event:MouseEvent):void {
if(this.figureArr != null){
/*將元素視為數值, 且升冪排序 - Array.NUMERIC ; 將元素視為數值,且預設升冪排序*/
this.figureArr.sort(Array.NUMERIC);
this.showInfo();
}
return;
}
private function sortArrayDescending(event:MouseEvent):void {
if(this.figureArr != null){
/*將元素視為數值, 且降冪排序 - Array.DESCENDING : 降冪排序*/
this.figureArr.sort(Array.NUMERIC | Array.DESCENDING);
this.showInfo();
}
return;
}
private function showInfo():void {
trace(figureArr + "\n**************************************************");
addInfo(figureArr + "\n**************************************************");
/*強制捲軸立即更新其捲動屬性。 - 重要,否則捲軸拖曳Bar會不見*/
this.vScrollBar.scrollPosition = this.vScrollBar.maxScrollPosition;
trace("this.vScrollBar.scrollPosition : " + this.vScrollBar.scrollPosition);
this.vScrollBar.update();
return;
}
/*設置info動態文字欄位屬性*/
private function setInfoTF():void {
var format:TextFormat = new TextFormat();
format.color = 0x000000;
this.info.selectable = true;
this.info.wordWrap = true;
/*autoSize屬性不能開, 否則捲軸會不正常*/
/*this.info.autoSize = TextFieldAutoSize.LEFT;*/
this.info.setTextFormat(format);
this.info.defaultTextFormat = format;
return;
}
/*附加字串至TextField 欄位目前字串之後*/
private function addInfo(_obj:*):void {
this.info.appendText(_obj.toString() + "\n");
return;
}
/*初始定義UIScrollBar屬性*/
private function createUIScrollBar():void {
this.vScrollBar = new UIScrollBar();
this.vScrollBar.direction = ScrollBarDirection.VERTICAL;
this.vScrollBar.scrollTarget = info;
this.vScrollBar.move(info.x + info.width + 10, info.y);
this.vScrollBar.height = info.height;
this.addChild(vScrollBar);
return;
}
}
}
適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
最上層 - Array - sort()方法


沒有留言:
張貼留言