TypeScript(11): Array(數組)




數組對象是使用單獨的變量名來存儲一系列的值。

假如你有一組數據(例如:網站名字),存在單獨變量如下所示:

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

七、數組方法

下表列出了一些常用的數組方法:

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM