如何在typescript

时间:2018-04-24 02:46:57

标签: arrays typescript definitions

如何在typescript中按特定顺序限制数组的类型,而不是定义范例。

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

const arr:Array<any> = []

我想在定义数组中获取特定顺序,例如:

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

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

感谢

2 个答案:

答案 0 :(得分:1)

如果您想将大小限制为2个元素,可以使用tuple

来实现此目的
const myTuple: [string, number] = ['test', 3]

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

type myTupleType = [string, number]
const myTuple2: myTupleType = ['test', 3]

答案 1 :(得分:0)

可以使用交集类型:

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

const arr: OrderedArray<any> = ['string', 0, ...];