數組對象是使用單獨的變量名來存儲一系列的值。
假如你有一組數據(例如:網站名字),存在單獨變量如下所示:
var site1="Google"; var site2="Runoob"; var site3="Taobao";
如果有 10 個、100 個這種方式就變的很不實用,這時我們可以使用數組來解決:
var sites:string[]; sites = ["Google","Runoob","Taobao"]
這樣看起來就簡潔多了。
一、TypeScript 聲明數組
TypeScript 聲明數組的語法格式如下所示:
var array_name[:datatype]; //聲明 array_name = [val1,val2,valn..] //初始化
或者直接在聲明時初始化:
var array_name[:data type] = [val1,val2…valn]
如果數組聲明時未設置類型,則會被認為是 any 類型,在初始化時根據第一個元素的類型來推斷數組的類型。
實例
創建一個 number 類型的數組:
var numlist:number[] = [2,4,6,8]
1、我們可以根據索引值來訪問數組元素:
var sites:string[]; sites = ["Google","Runoob","Taobao"] console.log(sites[0]); console.log(sites[1]);
編譯以上代碼,得到以下 JavaScript 代碼:
var sites; sites = ["Google", "Runoob", "Taobao"]; console.log(sites[0]); console.log(sites[1]);
輸出結果為:
Google Runoob
2、以下實例我們在聲明時直接初始化:
var nums:number[] = [1,2,3,4] console.log(nums[0]); console.log(nums[1]); console.log(nums[2]); console.log(nums[3]);
編譯以上代碼,得到以下 JavaScript 代碼:
var nums = [1, 2, 3, 4]; console.log(nums[0]); console.log(nums[1]); console.log(nums[2]); console.log(nums[3]);
輸出結果為:
1 2 3 4
二、Array 對象
我們也可以使用 Array 對象創建數組。
Array 對象的構造函數接受以下兩種值:
- 表示數組大小的數值。
- 初始化的數組列表,元素使用逗號分隔值。
實例
1、指定數組初始化大小:
var arr_names:number[] = new Array(4) for(var i = 0; i) { arr_names[i] = i * 2 console.log(arr_names[i]) }
編譯以上代碼,得到以下 JavaScript 代碼:
var arr_names = new Array(4); for (var i = 0; i < arr_names.length; i++) { arr_names[i] = i * 2; console.log(arr_names[i]); }
輸出結果為:
0 2 4 6
2、直接初始化數組元素:
var sites:string[] = new Array("Google","Runoob","Taobao","Facebook") for(var i = 0;i) { console.log(sites[i]) }
編譯以上代碼,得到以下 JavaScript 代碼:
var sites = new Array("Google", "Runoob", "Taobao", "Facebook"); for (var i = 0; i < sites.length; i++) { console.log(sites[i]); }
輸出結果為:
Google Runoob Taobao Facebook
三、數組解構
我們也可以把數組元素賦值給變量,如下所示:
var arr:number[] = [12,13] var[x,y] = arr // 將數組的兩個元素賦值給變量 x 和 y console.log(x) console.log(y)
編譯以上代碼,得到以下 JavaScript 代碼:
var arr = [12, 13]; var x = arr[0], y = arr[1]; // 將數組的兩個元素賦值給變量 x 和 y console.log(x); console.log(y);
輸出結果為:
12 13
四、數組迭代
我們可以使用 for 語句來循環輸出數組的各個元素:
var j:any; var nums:number[] = [1001,1002,1003,1004] for(j in nums) { console.log(nums[j]) }
編譯以上代碼,得到以下 JavaScript 代碼:
var j; var nums = [1001, 1002, 1003, 1004]; for (j in nums) { console.log(nums[j]); }
輸出結果為:
1001 1002 1003 1004
五、多維數組
一個數組的元素可以是另外一個數組,這樣就構成了多維數組(Multi-dimensional Array)。
最簡單的多維數組是二維數組,定義方式如下:
var arr_name:datatype[][]=[ [val1,val2,val3],[v1,v2,v3] ]
實例
定義一個二維數組,每一個維度的數組有三個元素。
var multi:number[][] = [[1,2,3],[23,24,25]] console.log(multi[0][0]) console.log(multi[0][1]) console.log(multi[0][2]) console.log(multi[1][0]) console.log(multi[1][1]) console.log(multi[1][2])
編譯以上代碼,得到以下 JavaScript 代碼:
var multi = [[1, 2, 3], [23, 24, 25]]; console.log(multi[0][0]); console.log(multi[0][1]); console.log(multi[0][2]); console.log(multi[1][0]); console.log(multi[1][1]); console.log(multi[1][2]);
輸出結果為:
1 2 3 23 24 25
六、數組在函數中的使用
1、作為參數傳遞給函數
var sites:string[] = new Array("Google","Runoob","Taobao","Facebook") function disp(arr_sites:string[]) { for(var i = 0;i) { console.log(arr_sites[i]) } } disp(sites);
編譯以上代碼,得到以下 JavaScript 代碼:
var sites = new Array("Google", "Runoob", "Taobao", "Facebook"); function disp(arr_sites) { for (var i = 0; i < arr_sites.length; i++) { console.log(arr_sites[i]); } } disp(sites);
輸出結果為:
Google Runoob Taobao Facebook
2、作為函數的返回值
function disp():string[] { return new Array("Google", "Runoob", "Taobao", "Facebook"); } var sites:string[] = disp() for(var i in sites) { console.log(sites[i]) }
編譯以上代碼,得到以下 JavaScript 代碼:
function disp() { return new Array("Google", "Runoob", "Taobao", "Facebook"); } var sites = disp(); for (var i in sites) { console.log(sites[i]); }
輸出結果為:
Google Runoob Taobao Facebook
七、數組方法
下表列出了一些常用的數組方法: