我创建了自己的类型tuple,我想用tuple类型的元素制作一个长度为10的数组。我如何(可能(使用特定的Array语法或任何其他语法来做到这一点?
type tuple = [number, number]
var numbers: Array<tuple> = []
如果你对tuple
的默认值满意,只需添加一个单独的答案,这样的方法就可以了:
type tuple = [number, number]
type TupleArray<tuple, TupleLen extends number> = [tuple, ...tuple[]] & { length: TupleLen }
let numbers: TupleArray<tuple, 10> = Array(10).fill([0, 0]) as TupleArray<tuple, 10>;
使用这种方法,您需要特别键入TupleArray
以具有特定的长度,因此添加了一个警告,即空数组或长度大于或小于10的任何数组都会引发错误。这也是为什么您需要用10个tuple
s填充阵列的原因。
让它成为元组的元组?或者具体地说,是一个类型为tuple
的元组。
type tuple = [number, number];
const numbers: [tuple, tuple, tuple, tuple, ...] = [...];