元组是一种有序且固定长度的元素集合。与数组不同,元组中的每个元素都可以有不同的类型。
要创建元组,可以使用以下语法:
let myTuple: [string, number, boolean] = ["Hello", 123, true];
在此示例中,myTuple 是一个元组,它包含三个元素:一个字符串、一个数字和一个布尔值。
可以使用索引语法来访问元组元素:
let firstElement = myTuple[0]; // "Hello"
let secondElement = myTuple[1]; // 123
let thirdElement = myTuple[2]; // true
// 我们也可以用这种方式解构
const [v1, v2, v3] = myTuple;
// 如果我们只想获取第二个元素,我们可以这样做
const [, v2Only] = myTuple;
// 如果我们直接在函数中返回一个元组,我们可以这样做
function getTuple(): [string, number, boolean] {
return ["Hello", 123, true];
}
// 但是如果不指定返回类型,返回的结果其实是一个数组
// function getTuple1(): (string | number | boolean)[]
function getTuple1() {
return ["Hello", 123, true];
}
// 为了确保返回一个元组,我们可以这样做
// function getTuple2(): readonly ["Hello", 123, true]
function getTuple2() {
return ["Hello", 123, true] as const;
}
元组提供了一些内置方法,例如:
以下是一些使用元组方法的代码示例:
// 获取元组的长度
let tupleLength = myTuple.length; // 3
// 获取元组的一部分
let subTuple = myTuple.slice(1, 3); // [123, true]
// 连接两个元组
let newTuple = myTuple.concat(["World", 456]); // ["Hello", 123, true, "World", 456]