Typescript-需要N长度数组中的单个文字值

Typescript-需要N长度数组中的单个文字值,typescript,Typescript,以下是可能的吗?我需要'foo'文字,但允许数组为任何形状(即,我不能使用具有预定义位置的X长度元组) 这是一个奇怪的要求。如果需要在元组的末尾或开头出现foo,可以执行以下操作: type requireFoo = [...any[], 'foo'] const works: requireFoo = ['bar', 'foo' as const] // Good const notWork: requireFoo = ['tar', 'bar' as const] // Bad 注意

以下是可能的吗?我需要'foo'文字,但允许数组为任何形状(即,我不能使用具有预定义位置的X长度元组)


这是一个奇怪的要求。如果需要在元组的末尾或开头出现foo,可以执行以下操作:

type requireFoo = [...any[], 'foo']

const works: requireFoo = ['bar', 'foo' as const] // Good 
const notWork: requireFoo = ['tar', 'bar' as const] // Bad 

注意:如上图所示,元组开头的Rest参数仅在typscript 4.2 beta版中可用。

如果您特别想解决一个问题,您可能希望将其作为一个问题发布,这样我们就可以通过更改javascript和键入来提供更符合人体工程学的解决方案。
type requireFoo = [...any[], 'foo']

const works: requireFoo = ['bar', 'foo' as const] // Good 
const notWork: requireFoo = ['tar', 'bar' as const] // Bad