TypeScript 元组
有时候,需要存储一组不同类型的值。数组无法满足这个需求。TypeScript 提供了一种数据类型叫做元组,可以帮助实现这样的目的。
元组表示一个异构的值集合。换句话说,元组允许存储多个不同类型的字段。元组也可以作为函数的参数传递。
语法
var tuple_name = [value1,value2,value3,…value n]
示例
var mytuple = [10,"Hello"];
你也可以在Typescript中声明一个空元组,并选择稍后进行初始化。
var mytuple = [];
mytuple[0] = 120
mytuple[1] = 234
访问元组中的值
元组的值称为项目。元组是基于索引的。这意味着可以使用相应的数值索引访问元组中的项目。元组项目的索引从零开始,一直延伸到n-1(其中n是元组的大小)。
语法
tuple_name[index]
示例:简单元组
var mytuple = [10,"Hello"]; //create a tuple
console.log(mytuple[0])
console.log(mytuple[1])
在上面的例子中,一个元组, mytuple 被声明。该元组分别包含数值和字符串类型的值。 在编译时,它将生成相同的JavaScript代码。 它的输出如下:
10
Hello
示例:空元组
var tup = []
tup[0] = 12
tup[1] = 23
console.log(tup[0])
console.log(tup[1])
编译后,它将生成相同的JavaScript代码。
它的输出如下:
12
23
元组操作
Tuple在TypeScript中支持各种操作,例如推入新项,从元组中删除项等。
示例
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)
- push()将一个项添加到元组中
-
pop()从元组中移除并返回最后一个值
编译后,将在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])
编译后,它将生成相同的JavaScript代码。
以上代码的输出如下:
Tuple value at index 0 10
Tuple value at index 0 changed to 121
解构元组
解构是指打破实体的结构。当在元组的上下文中使用时,TypeScript支持解构操作。
示例
var a =[10,"hello"]
var [b,c] = a
console.log( b )
console.log( c )
编译后,它将生成以下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