1.1 元组的概念

元组是关系型数据库中的基本概念,关系是一张表,表中的每行(数据库中的每条记录)就是一个元组,每列都是一个属性。元组可以是不同类型的对象集合。
元组的声明和初始化和数组类似,只是元组的各个元素类型可以不同。需要注意数组和元组声明在语法上面的区别,数组是dataType[],而元组是[datatype1, datatype2, …],[]中的每个元素类型不能省略,且初始化的个数必须与声明中的类型个数一致,否则报错。
元组声明和初始化:

  1. let row: [number, string, number] = [1, "jack", 99];

typescript中的数组和JavaScript中的数组定义有所不同,JavaScript中的数组中每个元素类型不限,但是typescript中的数组是相同类型的元素集合,但是数组类型可以是多个甚至任意的。
数组声明和初始化:

  1. let arrlist1: string[] = ["猪肉", "西红柿", "白酒"];
  2. let arrlist2: any[] = ["jack", 10, true];
  3. let arrlist3: (string | number)[] = ["true", 1]; // boolean格式的true就会报错

1.2 访问元组中的值

访问元组中的值跟数组基本一样,

  1. 最基本的方法是通过下标定位,下标从0开始,注意访问索引不能超过元组的长度,访问一个越界的元素会报错;
  2. 用for…of和for…in遍历元组;
  3. 元组对象本身也有类似数组的方法,比如forEach、push、pop等,可以用forEach进行元组遍历;

    1.3 元组操作(增删改)

    和数组类似,元组也可以进行添加删除修改元素,但不同的是,元组不能通过越界的下标直接往里面直接追加元素,修改元素也一样。

    1.3.1 push方法

    push方法用于向元组末尾添加元素,一次可以添加一个或多个元素,但是push的元素必须和元组中本来的元素格式兼容。初始化定义的每个位置的类型必须和后面的值一一对应,但是新增元素的格式只需要包含在初始化定义的类型中即可。

    1.3.2 pop方法

    pop()用于从元组中移除最后一个元素,并返回移除的元素。

    1.3.3 元组更新

    当元组初始化后,可以直接通过下标访问元组中的元素并进行赋值类完成更新。注意的是,更新,一不能越界,二赋值的类型必须与原元组包含的类型兼容。 ```typescript let mytuple: [number, string] = [10, “hello”]; let len = mytuple.length; // 2

//mytuple.push(true); // 报错 mytuple.push(1, “!”);

let ele = mytuple.pop(); console.log(ele); // !

mytuple[0] = 20; //mytuple[1] = true; // 报错,类型不兼容 //mytuple[5] = “world” // 报错,越界访问

  1. <a name="t6vpu"></a>
  2. ## 1.4 元组解构
  3. 元组解构和数组解构类似,可以把元素元素赋值给多个变量。同样,不能越界解构。
  4. ```typescript
  5. let mytuple: [number, string] = [10, "hello"];
  6. let [a, b] = mytuple;