如何在打字稿中以特定顺序限制数组的类型,而不是定义范式。
这意味着,在 ts 中,我们只需声明一个数组定义,如:
const arr:Array<any> = []
我想在定义数组中得到一个特定的顺序,比如:
const arr = ['string', 0, ...];
value 只能是位置 0 的字符串 tyoe,并且只能是位置 1 的数字类型...
谢谢
如何在打字稿中以特定顺序限制数组的类型,而不是定义范式。
这意味着,在 ts 中,我们只需声明一个数组定义,如:
const arr:Array<any> = []
我想在定义数组中得到一个特定的顺序,比如:
const arr = ['string', 0, ...];
value 只能是位置 0 的字符串 tyoe,并且只能是位置 1 的数字类型...
谢谢
如果要将大小限制为 2 个元素,可以使用元组来实现
const myTuple: [string, number] = ['test', 3]
或将元组类型定义提取为类型
type myTupleType = [string, number]
const myTuple2: myTupleType = ['test', 3]
可以用交集类型来完成:
type OrderedArray<T> = Array<T> & {
0?: string;
1?: number;
}
const arr: OrderedArray<any> = ['string', 0, ...];