我正在尝试实现类似于具有指定值类型的一个数组类型的克隆,作为具有返回指定值的函数的数组.
假设我们有数组元组:
[string, number]
Run Code Online (Sandbox Code Playgroud)
我想要的是从它获取生成的类型,如:
[() => string, () => number]
Run Code Online (Sandbox Code Playgroud)
我试过的是keyof使用类型别名:
type tupleTransform<T extends Array<any>> = { [U in keyof T ]: (() => T[U]) };
Run Code Online (Sandbox Code Playgroud)
它几乎可以工作,除了它还检查方法,Array如果我将:
const tupleTransformer: tupleTransform<[string, number]> = [() => 'a', () => 5]
Run Code Online (Sandbox Code Playgroud)
它会解雇我的错误,例如某些方法没有返回正确的类型
我已经制定了基准来检查几种迭代数组的方法的性能.
https://jsperf.com/extended-array-loops-performance
有人可以解释为什么every方法如此强大?它比任何其他方法快90%以上,甚至比那些类似的方法更加奇怪