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