logoProsperBao

元组转合集

2022-03-24 02

题目来源(type-challenges)

问题

实现泛型TupleToUnion<T>,它返回元组所有值的合集。

例如

type Arr = ['1', '2', '3']

type Test = TupleToUnion<Arr> // expected to be '1' | '2' | '3'

解答

type TupleToUnion<T extends any[]> = T[number]

拆分

  1. 根据题意限制 T 的类型为数组
  2. T[number] 是签名索引,可通过属性或者属性类型推断出数据类型 Indexed Access Types