gpt4 book ai didi

具有任意最小长度 N 的 TypeScript 数组,可以很大

转载 作者:行者123 更新时间:2023-12-04 09:36:50 25 4
gpt4 key购买 nike

我想创建一个 type,其中数组的最小长度为 N。我看过这个 TypeScript array with minimum length ,但是当 N 很大时,我不想写出从 0 到 N 的类型,例如:

type ArrayTwoOrMore<T> = {
0: T
1: T
...
N: T
}

我想知道是否有更简洁的方法来做到这一点?

最佳答案

你不能做任意大小的元组,但在 4.0 中你将能够创建一个像 Typle5Tuple10 这样的类型并将它传播多次以获得所需类型更快:

type Tuple5<T> = [T, T, T, T, T]
type Tuple10<T> = [...Tuple5<T>, ...Tuple5<T>]
type Tuple50<T> = [...Tuple10<T>, ...Tuple10<T>, ...Tuple10<T>, ...Tuple10<T>, ...Tuple10<T>]
type Tuple100<T> = [...Tuple50<T>, ...Tuple50<T>]

let a: Tuple100<number> = [] // Source has 0 element(s) but target requires 100

Playground Link

不过,我会质疑创建大小为 100 的元组是否明智。

注意:4.0 仍处于测试阶段,应于 2020 年 8 月发布

关于具有任意最小长度 N 的 TypeScript 数组,可以很大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62535983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com