2011年7月12日

[AS3.0]數值運算

四捨五入
Math.round(運算式)

無條件捨去
Math.floor(運算式)

無條件進位
Math.ceil(運算式)


絕對值
Math.abs(運算式)

取亂數
Math.random();

取最大數
Math.max(運算式1, 運算式2.....運算式N)

取最小數
Math.min(運算式1, 運算式2.....運算式N)

[AS3.0]陣列的使用

陣列的宣告
var aArray:Array;
var bArray:Array = [123,"abc"];
以上兩種方法皆可,陣列中可以包函不同型態的值



陣列的長度
bArray.length
可以得到 2



陣列連結
var cArray:Array = ["def",5678];
concat傳回陣列
var dArray:Array = bArray.concat(cArray,aArray);
以上會將bArray,cArray,aArray的元素連結在一起後,回傳新的陣列
dArray 則等於 [123,"abc","def",5678]
join傳回字串
var dString:String = cArray.join(",");
以上會將cArray裡各元素轉成字串連結,join(分隔符號),亦可指定空字串join("")



分割陣列
slice(開始索引[,結束索引]) 傳回陣列
取出陣列一部份作為新陣列
0   1  2  3   4  5
|A |B |C |D |E |F |  =>newArray
  -5 -4 -3 -2 -1  0
newArray.slice(2,4)   => ["C","D"]
newArray.slice(0,-3) => ["A","B","C"]
splice(開始索引[,刪除數量[,替換元素......N]]) 傳回陣列



追加陣列
push()
bArray.push(1688);
以上bArray則變成 [123,"abc",1688];
unshift()
bArray.unshift(1688);
以上bArray則變成[1688,123,"abc"];



刪除陣列
bArray = [123,"abc",1688];
pop()
bArray.pop();
以上bArray則變成[123,"abc"];
shift()
bArray.shift();
以上bArray則變成["abc",1688];



搜尋陣列元素
bArray = [123,"abc",1688];
indexOf(搜尋元素[,開始索引])
從前端開始搜尋
bArray.indexOf(123);   => 0
bArray.indexOf("abc");  => 1
bArray.indexOf(1688);  => 2
lastindexOf(搜尋元素[,開始索引])
從後端開始搜尋

bArray.lastindexOf(123);   => 2
bArray.lastindexOf("abc");  => 1
bArray.lastindexOf(1688);  => 0




對陣列的各元素執行含數
bArray = [123,"abc",1688];
bArray.foreach( testfunction);
function testfunction (元素的值:*,元素的索引:int, 指向陣列的參照:Array):void{
}
map則必須有傳回值