TypeScript - 元组


有时,可能需要存储不同类型的值的集合。数组不能用于此目的。TypeScript 为我们提供了一种称为元组的数据类型,有助于实现这样的目的。

它代表了异构值的集合。换句话说,元组能够存储不同类型的多个字段。元组也可以作为参数传递给函数。

句法

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

例如

var mytuple = [10,"Hello"];

您还可以在 Typescript 中声明一个空元组并选择稍后对其进行初始化。

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

访问元组中的值

元组值单独称为项目。元组是基于索引的。这意味着可以使用相应的数字索引来访问元组中的项目。元组项的索引从 0 开始,一直延伸到 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 

元组操作

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