優秀程式設計師通過簡單代碼,窺探電腦編程中強大的數組操作功能。程式語言中,數組是一個非常重要的概念,也是一種很常用的類型。本文中通過javascript語言的代碼實例,展現編程中數組的魅力。在javascript語言中,數組Array類型是一種引用類型,可以保存任何數據類型的數據。如字符串,數值,對象等。
如圖A,通過構造函數Array()傳入不同的參數創建不同的新數組。當傳入的參數為空時,創建length長度為零的空數組testArray_a;當傳入的參數為數值5時,創建了一個length長度為5的空數組testArray_b,數組中的5個數據項均為undefined;當傳入的參數為字符串a,b,c,d,e時,新數組testArray_c被創建,此時該數組的length長度為5,各數據項為a,b,c,d,e。利用構造函數構建新數組,只是創建數組的一種方式,還有一種比較常見的方式為數組字面量。在編程中,數組是可以通過索引進行操作的。
如圖B,通過數組的索引對數組進行特定數據項的替換,添加。通過操作符new加構造函數Array(),創建名為testArray_c的數組,該數組中的數據項為a,b,c,d,e,length長度為5。testArray_c[4]="f";將第五個數據項e替換為f,返回新數組:a,b,c,d,f;testArray_c[5]="G";在位置5添加數據項六G;返回新數組:a,b,c,d,f,G,length長度為6;給原數組添加數據項可以是任何位置的添加。數據項間沒有數據的位置,都是undefined項。testArray_c[10]="M";在位置10添加數據項「M」,返回新數組:a,b,c,d,f,G,undefined,undefined,undefined,undefined,M,length長度為10;
如圖C,數組中,最後一個數據項的索引總是為length-1,所以,下個數據項的索引即為length。利用這個特性,可以很方便的為某個數組在末尾添加數據項。testArray_c.length="Z";在數組testArray_c末尾添加Z;testArray_c.length="X",末尾加X;經過兩次操作,返回的新數組為:a,b,c,d,e,Z,X。以此類推,可以添加末尾數據項的任意個數。
如圖C,通過方法splice()對數組進行操作,其功能可有刪除數據項,插入數據項,替換數據項。刪除操作:var testArray_c1=testArray_c.splice(1,2);從位置1開始刪除2個數據項;console.log(testArray_c1);返回刪除的數據項b,c; console.log(testArray_c);返回刪除後的新數組a,d,e;插入操作:var testArray_c2=testArray_c.splice(2,0,"8","9");從位置2開始插入8,9兩項,變成新數組a,d,8,9,e。
替換數據項操作:var testArray_c3=testArray_c.splice(1,3,"X","Y","Z");從位置1開始,刪除3個數據項,後在刪除的位置上添加X,Y,Z;console.log(testArray_c3);返回刪除項d,8,9;console.log(testArray_c); 返回新數組a,X,Y,Z,e;如圖E為 splice()方法執行結果。在數組操作中,splice()方法是非常強大的,可以很方便的操作數組。一種程式語言,如果沒有數組這種數據結構會是什麼樣的呢?會不會有更好的數據結構來代替數組?