#javascript #arrays #typescript #tuples
Вопрос:
Скажи, что у меня есть такой тип
type MyTypeArray = ['', 2, boolean]
Как я мог извлечь тип 2 | boolean
, когда массив может быть неизвестной длины?
Ответ №1:
Вы можете вывести все элементы, но сначала. Используйте spread tuple
оператор: ...
, как и в обычном javascript
type ExtractTail<T extends any[]> = T extends [infer _, ...infer Tail] ? Tail : never
// [2, boolean]
type MyTypeArray = ExtractTail<['', 2, boolean]>
// 2 | boolean
type Union = MyTypeArray[number]
Комментарии:
1. @johann1301s сделал обновление.