Tuple
Tuple 是 TypeScript 中的一种数据结构,它可以在一个数组中存储多个不同类型的元素。
例如,可以创建一个存储名字和年龄的元组:
let person: [string, number] = ['John Doe', 35];
可以使用索引访问元组的元素:
let name = person[0];
let age = person[1];
元组可以在存储和访问数据时使用更复杂的数据结构,并且可以更清晰地表示数据之间的关系。
TupleToObject 实现
type TupleToObject<T extends readonly any[]> = {
[K in T[number]]: T[number];
};
const tuple = ['tesla', 'model 3', 'model X', 'model Y'] as const;
const result: TupleToObject<typeof tuple> = { tesla: 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y' };
这将创建一个对象,其中键是元组中的元素,值与键相同。使用 readonly any[] 泛型约束,确保 T 数组是只读的,并且每个元素都是任意类型。