TypeScript 元組

我們知道數組中元素的數據類型都一般是相同的(any[] 類型的數組可以不同),如果存儲的元素數據類型不同,則需要使用元組。

元組中允許存儲不同類型的元素,元組可以作為參數傳遞給函數。

創建元組的語法格式如下:

var tuple_name = [value1,value2,value3,…value n]

實例

聲明一個元組並初始化:

var mytuple = [10,"zaixian"];

或者我們可以先聲明一個空元組,然後再初始化:

var mytuple = [];
mytuple[0] = 120
mytuple[1] = 234

訪問元組

元組中元素使用索引來訪問,第一個元素的索引值為 0,第二個為 1,以此類推第 n 個為 n-1,語法格式如下:

tuple_name[index]

實例

以下實例定義了元組,包含了數字和字串兩種類型的元素:

TypeScript

var mytuple = [10,"zaixian"]; // 創建元組 console.log(mytuple[0]) console.log(mytuple[1])

編譯以上代碼,得到以下 JavaScript 代碼:

JavaScript

var mytuple = [10, "zaixian"]; // 創建元組 console.log(mytuple[0]); console.log(mytuple[1]);

輸出結果為:

10
zaixian

元組運算

我們可以使用以下兩個函數向元組添加新元素或者刪除元素:

  • push() 向元組添加元素,添加在最後面。

  • pop() 從元組中移除元素(最後一個),並返回移除的元素。

TypeScript

var mytuple = [10,"Hello","World","typeScript"]; console.log("添加前元素個數:"+mytuple.length) // 返回元組的大小 mytuple.push(12) // 添加到元組中 console.log("添加後元素個數:"+mytuple.length) console.log("刪除前元素個數:"+mytuple.length) console.log(mytuple.pop()+" 元素從元組中刪除") // 刪除並返回刪除的元素 console.log("刪除後元素個數:"+mytuple.length)

編譯以上代碼,得到以下 JavaScript 代碼:

JavaScript

var mytuple = [10, "Hello", "World", "typeScript"]; console.log("添加前元素個數:" + mytuple.length); // 返回元組的大小 mytuple.push(12); // 添加到元組中 console.log("添加後元素個數:" + mytuple.length); console.log("刪除前元素個數:" + mytuple.length); console.log(mytuple.pop() + " 元素從元組中刪除"); // 刪除並返回刪除的元素 console.log("刪除後元素個數:" + mytuple.length);

輸出結果為:

添加前元素個數:4
添加後元素個數:5
刪除前元素個數:5
12 元素從元組中刪除
刪除後元素個數:4

更新元組

元組是可變的,這意味著我們可以對元組進行更新操作:

TypeScript

var mytuple = [10, "zaixian", "Taobao", "Google"]; // 創建一個元組 console.log("元組的第一個元素為:" + mytuple[0]) // 更新元組元素 mytuple[0] = 121 console.log("元組中的第一個元素更新為:"+ mytuple[0])

編譯以上代碼,得到以下 JavaScript 代碼:

JavaScript

var mytuple = [10, "zaixian", "Taobao", "Google"]; // 創建一個元組 console.log("元組的第一個元素為:" + mytuple[0]); // 更新元組元素 mytuple[0] = 121; console.log("元組中的第一個元素更新為:" + mytuple[0]);

輸出結果為:

元組的第一個元素為:10
元組中的第一個元素更新為:121

解構元組

我們也可以把元組元素賦值給變數,如下所示:

TypeScript

var a =[10,"zaixian"] var [b,c] = a console.log( b ) console.log( c )

編譯以上代碼,得到以下 JavaScript 代碼:

JavaScript

var a = [10, "zaixian"]; var b = a[0], c = a[1]; console.log(b); console.log(c);

輸出結果為:

10
zaixian