0

如何在打字稿中以特定顺序限制数组的类型,而不是定义范式。

这意味着,在 ts 中,我们只需声明一个数组定义,如:

const arr:Array<any> = []

我想在定义数组中得到一个特定的顺序,比如:

const arr = ['string', 0, ...];

value 只能是位置 0 的字符串 tyoe,并且只能是位置 1 的数字类型...

谢谢

4

2 回答 2

1

如果要将大小限制为 2 个元素,可以使用元组来实现

const myTuple: [string, number] = ['test', 3]

或将元组类型定义提取为类型

type myTupleType = [string, number]
const myTuple2: myTupleType = ['test', 3]
于 2018-04-24T05:58:15.930 回答
0

可以用交集类型来完成:

type OrderedArray<T> = Array<T> & {
    0?: string;
    1?: number;
}

const arr: OrderedArray<any> = ['string', 0, ...];
于 2018-04-24T03:04:39.107 回答