有時(shí),可能需要存儲(chǔ)各種類型的值的集合。數(shù)組不會(huì)達(dá)到這個(gè)目的.TypeScript為我們提供了一個(gè)名為元組(元組)的數(shù)據(jù)類型,有助于實(shí)現(xiàn)這一目的。
它代表值的異構(gòu)集合。換句話說,元組允許存儲(chǔ)不同類型的多個(gè)字段。元組也可以作為參數(shù)傳遞給函數(shù)。
var tuple_name = [value1,value2,value3,…value n]
var mytuple = [10,"Hello"];
您還可以在打字稿中聲明一個(gè)空元組,然后選擇稍后對(duì)其進(jìn)行初始化。
var mytuple = []; mytuple[0] = 120 mytuple[1] = 234
元組值被單獨(dú)稱為項(xiàng)目。元組是基于索引的。這意味著可以使用相應(yīng)的數(shù)字索引訪問元組中的項(xiàng)。元組項(xiàng)的索引從零開始并且向上擴(kuò)展到n-1個(gè)(其中?是元組的大?。?。
tuple_name[index]
var mytuple = [10,"Hello"]; //create a tuple console.log(mytuple[0]) console.log(mytuple[1])
在上面的例子中,聲明了元組mytuple。元組分別包含數(shù)字和字符串類型的值。
在編譯時(shí),它會(huì)在JavaScript的中生成相同的代碼。
它的輸出如下:
10 Hello
var tup = [] tup[0] = 12 tup[1] = 23 console.log(tup[0]) console.log(tup[1])
在編譯時(shí),它會(huì)在JavaScript的中生成相同的代碼。
它的輸出如下:
12 23
打字稿中的元組支持各種操作,例如推送新項(xiàng)目,從元組中刪除項(xiàng)目等。
var mytuple = [10,"Hello","World","typeScript"]; console.log("Items before push "+mytuple.length) // returns the tuple size mytuple.push(12) // append value to the tuple console.log("Items after push "+mytuple.length) console.log("Items before pop "+mytuple.length) console.log(mytuple.pop()+" popped from the tuple") // removes and returns the last item console.log("Items after pop "+mytuple.length)
推()一個(gè)將項(xiàng)附加到元型態(tài)組
pop()方法刪除并返回元組中的最后一個(gè)值
在編譯時(shí),它會(huì)在JavaScript的中生成相同的代碼。
上面的代碼的輸出如下:
Items before push 4 Items after push 5 Items before pop 5 12 popped from the tuple Items after pop 4
元組是可變的,這意味著你可以更新或更改元組元素的值。
var mytuple = [10,"Hello","World","typeScript"]; //create a tuple console.log("Tuple value at index 0 "+mytuple[0]) //update a tuple element mytuple[0] = 121 console.log("Tuple value at index 0 changed to "+mytuple[0])
在編譯時(shí),它會(huì)在JavaScript的中生成相同的代碼。
上面的代碼的輸出如下:
Tuple value at index 0 10 Tuple value at index 0 changed to 121
解構(gòu)是指打破實(shí)體的結(jié)構(gòu)。在元組的上下文中使用時(shí),打字稿支持解構(gòu)。
var a =[10,"hello"] var [b,c] = a console.log( b ) console.log( c )
在編譯時(shí),它會(huì)生成以下的JavaScript代碼:
//Generated by typescript 1.8.10 var a = [10, "hello"]; var b = a[0], c = a[1]; console.log(b); console.log(c);
它的輸出如下:
10 hello
更多建議: