close

按此前往javascript完整教學目錄

 

 

二、陣列:

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);  //顯示:image

 

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));  //顯示: image

(2-2) join(‘指定字元’):將陣列的形式轉換成字串(元素間以指定字元相隔)並且回傳。若沒有寫指定字元,預設以逗號相間隔。如:

var tt1= ["111","222","333"];

document.write(tt1.join('&&'));  //顯示: image

 

(2-3) push(元素1,元素2,元素3…):將元素1元素2元素3加入陣列的末尾。如:

var tt= ["111","222","333"];

tt.push("444","555","666");

document.write(tt);    //顯示: image

(2-4) pop():將陣列的最後一個元素去除。如:

var tt= ["111","222","333"];

tt.pop();

document.write(tt);    //顯示: image

(2-5) reverse():將陣列所有元素的順序顛倒過來。如:

var tt= ["111","222","333"];

tt.reverse();

document.write(tt);    //顯示: image

(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);   //顯示: image

(2-8) sort():將陣列元素給重新排列。這排列的依據為:比較個元素的第一個字元,其中數字先於英文字母,數字由小為先、大為後,英文字母a為先、z為後。若有一些元素第一個字元相同,則比較第二個以此類推。如:

var tt= ["apple","kite","333","444","30cicle"];

tt.sort();

document.write(tt);    //顯示: image

(2-9) unshift(元素1,元素2,元素3…):將元素1元素2元素3加入陣列的開頭。如:

var tt= ["111","222","333"];

tt.unshift("aaa","bbb","ccc");

document.write(tt);    //顯示: image

(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);    //顯示: image

 

 

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維陣列組成

 

 

 

上一篇:javascript 日期物件 Date

下一篇:javascript 數學運算 Math

arrow
arrow

    埃伯 發表在 痞客邦 留言(0) 人氣()