二、陣列:
1. 陣列的宣告與輸出:
(1) 宣告:
若不宣告元素初始值,可用:
var 陣列名稱 = new Array(); 或者是 var 陣列名稱=[];
之後再用 陣列名稱 = [值1 , 值2 , 值3…] 來設定元素值。
若要宣告元素初始值,可用:
var 陣列名稱 = [值1, 值2, 值3…];
註:javascript陣列元素的值,可以是不同的資料形態。如:
var tt = [“ss” , 5];
※ 若想要自訂序數(這是很重要的應用!!),可用:
var 陣列名稱 = new Array();
陣列名稱[“序數1名稱”]=值1;
陣列名稱[“序數2名稱”]=值2;
…
如:
var position =new Array();
position["tt"]=101;
document.write(position["tt"]); //顯示:101
(2) 輸出:
欲讀取陣列元素之值,可用序數(index)。如:
var tt= ["ss" , 50 ,"aa"];
document.write(tt[1]); //顯示:50
亦可以直接讀取陣列名稱,這樣一來元素間會以逗號相間隔。如:
var tt= ["ss" , 50 ,"aa"];
document.write(tt); //顯示:
2. 常用的陣列屬性與陣列成員函式:
(1) 屬性:length,陣列的元素個數。如:
var tt= ["ss" , 50 ,"aa"];
document.write(tt.length); //顯示:3
(2) 常用成員函式說明如下:
(2-1) concat(陣列1, 陣列2 …):使陣列與陣列1、陣列2等陣列進行合併,回傳合併之後的形式。如:
var tt1= ["111","222","333"];
var tt2= ["333","444"];
var tt3= ["555"];
document.write(tt1.concat(tt2,tt3)); //顯示:
(2-2) join(‘指定字元’):將陣列的形式轉換成字串(元素間以指定字元相隔)並且回傳。若沒有寫指定字元,預設以逗號相間隔。如:
var tt1= ["111","222","333"];
document.write(tt1.join('&&')); //顯示:
(2-3) push(元素1,元素2,元素3…):將元素1、元素2、元素3…加入陣列的末尾。如:
var tt= ["111","222","333"];
tt.push("444","555","666");
document.write(tt); //顯示:
(2-4) pop():將陣列的最後一個元素去除。如:
var tt= ["111","222","333"];
tt.pop();
document.write(tt); //顯示:
(2-5) reverse():將陣列所有元素的順序顛倒過來。如:
var tt= ["111","222","333"];
tt.reverse();
document.write(tt); //顯示:
(2-6) shift():將陣列的第一個元素給去除。回傳第一個元素的值。如:
var tt= ["111","222","333"];
document.write(tt.shift()); //顯示 111
document.write(tt); //顯示222,333
(2-7) slice( N1 [,N2]):將陣列從序數=N1的元素開始,到序數=N2-1的元素為止,給存成另外的新陣列,回傳這個新陣列。不會影響到原陣列本身。若沒有指定N2,則將陣列從序數=N1的元素開始,到陣列之最後,都存成新陣列。如:
var tt= ["111","222","333","444","555"];
var kk=tt.slice(2,4);
document.write(kk); //顯示:
(2-8) sort():將陣列元素給重新排列。這排列的依據為:比較個元素的第一個字元,其中數字先於英文字母,數字由小為先、大為後,英文字母a為先、z為後。若有一些元素第一個字元相同,則比較第二個…以此類推。如:
var tt= ["apple","kite","333","444","30cicle"];
tt.sort();
document.write(tt); //顯示:
(2-9) unshift(元素1,元素2,元素3…):將元素1、元素2、元素3…加入陣列的開頭。如:
var tt= ["111","222","333"];
tt.unshift("aaa","bbb","ccc");
document.write(tt); //顯示:
(2-10) splice(N1, t, 元素1,元素2,元素3…):將元素1、元素2、元素3…加入陣列中序數為N1的元素之後。t為整數,若t大於零,表示刪除原陣列在「序數為N1之後的所有元素」,若t不大於零,表示不刪除。如:
var tt= ["111","222","333"];
tt.splice(2,1,"aaa","bbb","ccc");
document.write(tt); //顯示:
3. 二維陣列:二維陣列是由許多一維陣列所組成。若不宣告元素初始值,可用:
var 陣列名稱 = new Array(); 或者是 var 陣列名稱=[];
之後再用 陣列名稱 = [[一維陣列1的值1, 一維陣列1的值2…], [一維陣列2的值1, 一維陣列2的值2…]…] 來設定元素值。
若要宣告元素初始值,可用:
var陣列名稱 = [[一維陣列1的值1, 一維陣列1的值2…], [一維陣列2的值1, 一維陣列2的值2…]…];。
例如:
var tt2=[["weiwei" ,18,2500],
["nunu", 20,2800 ],
["rain" ,19]];
document.write(tt2); //顯示:weiwei,18,2500,nunu,20,2800,rain,19
document.write(tt2[1][0]); //顯示:nunu
//註一:陣列名稱[a][b]表示:序數為a的一惟陣列中,序數為b的值。
//註二:同理,多維陣列也可以宣告。如N維陣列可以由N-1維陣列組成、其中N-1維陣列可以由N-2維陣列組成…
留言列表