2012年8月21日 星期二

[AS3.0 學習筆記]陣列Array

這幾天公司的東西一直在玩「陣列」,做一下基本的陣列方法筆記吧~~呼呼!好想睡覺!

宣告(建立)陣列

陣列可以放入「數字」、「字串」、以及「物件」!
建立方法一
var aArray:Array=new Array()
aArray[0]= 第一個元素 ;aArray[1]= 第二個元素 ;…以此類推。
請注意:陣列序號從「0」開始
建立方法二
var aArray:Array = [123,"abc"….];

陣列中的元素數量

var aArray:Array=new Array()
for(var i=0;i<=9;i++){
aArray[i]=i
// 建立「0~9」的陣列,或者「aArray[i]=i+1」,可以建立 1~10 的陣列
}
Trace(aArray.length) 會得到「2」。

連結陣列:陣列 A.concat(陣列 B, 陣列 c…)

var aArray:Array = [123,"abc"]
var bArray:Array = ["def",5678];
var cArray:Array = ["ghi",9,10];
var dArray:Array = bArray.concat(cArray,aArray);
Trace(dArray) 會得到「"def",5678,"ghi",9,10,123,"abc"」。

分割陣列:slice(a,b)

Slice 從「a 的序號」取「b」個元素,將其重建一個陣列,且保留原陣列。
var aArray:Array = [123,"abc","hsd",456]
var hh=aArray.slice(0,2)
Trace(hh) 會得到「123,"abc"」。
Trace(aArray) 會得到「123,"abc","hsd",456」。

新增元素:陣列 A.push(元素),陣列 A.unshift(元素)

push() 可以在陣列 A 的尾巴丟入一個元素;而 unshift() 則是在陣列 A 的最前面丟入一個元素。
var aArray:Array = [123,"abc","hsd",456]
aArray.push(1211);
aArray.unshift(2356);
Trace(aArray) 會得到「2356,123,"abc","hsd",456,1211」。

刪除元素:陣列 A.pop(),陣列 A.shift(),陣列 A.splice(序號位置, 個數)

pop() 會刪除陣列 A 的第一個元素;而 shift() 則會刪除最後一個元素;但鼻涕還是最常用 splice()。
var aArray:Array = [123,"abc","hsd",456]
aArray.pop();
Trace(aArray) 會得到「"abc","hsd",456」。
var aArray:Array = [123,"abc","hsd",456]
aArray.shift();
Trace(aArray) 會得到「123,"abc","hsd"」。
var aArray:Array = [123,"abc","hsd",456]
aArray.splice(1,3);
// 刪除從「第二個位置」算起的「三」個元素。
Trace(aArray) 會得到「123」。

搜尋陣列元素:陣列 A.indexOf(元素),陣列 A.lastindexOf (元素)

indexOf () 會從頭開始搜尋該元素;而 lastindexOf () 則從尾巴開始搜尋;如果未搜尋到,則會傳回「-1」。
var aArray:Array = [123,"abc","hsd",456]
var ak=aArray.indexOf (123);
Trace(ak) 會得到「0」。
var ak=aArray.lastindexOf ("hsd");
Trace(ak) 會得到「1」。
var ak=aArray.lastindexOf ("khg");
Trace(ak) 會得到「-1」。

沒有留言:

張貼留言