TypeScript元组用法和操作 – TypeScript开发教程

上一章TypeScript教程请查看:TypeScript数组用法和操作
我们知道一个数组包含多个相同数据类型的值,但有时,我们可能需要将不同数据类型的值集合存储在单个变量中。数组不会提供这个特性,但是TypeScript有一个叫做Tuple元组的数据类型来实现这个目的。Tuple是一个数组,它存储属于不同数据类型的多个字段。它类似于C编程语言中的结构。
tuple是一种数据类型,可以像其他变量一样使用。它表示值的异构集合,也可以作为参数在函数调用中传递。
在抽象数学中,术语元组用于表示多维坐标系统。JavaScript没有元组作为数据类型,但是在TypeScript中可以使用元组,注意元组中元素的顺序很重要。
语法

let tuple_name = [val1,val2,val3, ...val n];

例子
let arrTuple = [101, "C++", 105, "Java"]; console.log(arrTuple);

我们也可以通过在Typescript中首先声明一个空的tuple来分别声明和初始化一个tuple。
例子
let arrTuple = []; arrTuple[0] = 101 arrTuple[1] = 105

访问元组元素我们可以使用与数组相同的索引来读取或访问元组的字段。在Tuple中,索引从零开始。
例子
let empTuple = ["Mie", 25, "srcmini"]; console.log("Name : "+empTuple [0]); console.log("Age : "+empTuple [1]); console.log(empTuple [0]+" is in "+empTuple [2]);

元组的操作一个元组有两个操作:
  • Push()
  • Pop()
元组Push()
push操作用于向tuple添加元素。
例子
let empTuple = ["Van", 18, "srcmini"]; console.log("Items: "+empTuple); console.log("Length: "+empTuple.length); // 返回元组大小 empTuple.push(10001); // 向元组追加值 console.log("Length: "+empTuple.length); console.log("Items: "+empTuple);

元组Pop()
pop操作用于从tuple中删除元素。
例子
let empTuple = ["Van", 17, "srcmini", 10001]; console.log("Items: "+empTuple); console.log("Length: "+empTuple.length); // 元组大小 empTuple.pop(); // 删除元素 console.log("Length: "+empTuple.length); console.log("Items: "+empTuple);

更新或修改元组元素元组是可变的,这意味着我们可以更新或更改元组元素的值。要修改元组的字段,需要使用字段的索引和赋值操作符,我们可以通过下面的例子来理解它。
例子
let empTuple = ["Van", 20, "srcmini"]; empTuple[1] = 30; console.log("Name: "+empTuple [0]); console.log("Age: "+empTuple [1]); console.log(empTuple [0]+" is in "+empTuple [2]);

清除元组的字段我们不能删除tuple变量,但是可以清除它的字段。要清除元组的字段,请使用一个空的元组字段集来分配给它,如下面的示例所示。
例子
let empTuple = ["Van", 19, "srcmini"]; empTuple = []; console.log(empTuple);

析构元组析构允许我们分解实体的结构,TypeScript在元组的上下文中使用了析构。
例子
let empTuple = ["Oreja", 16, "srcmini"]; let [emp, student] = empTuple; console.log(emp); console.log(student);

将元组传递给函数我们可以将tuple传递给函数,如下面的示例所示。
【TypeScript元组用法和操作 – TypeScript开发教程】例子
// 元组声明 let empTuple = ["srcmini", 101, "Oreja"]; //传递元组给函数 function display(tuple_values:any[]) { for(let i = 0; i< empTuple.length; i++) { console.log(empTuple[i]); } } // 调用函数 display(empTuple);

    推荐阅读