✍ 공부/TypeScript
[type-challenges] String to Union
Po_tta_tt0
2023. 6. 27. 08:10
반응형
문제
String을 Union type으로 변환하시오.
output은 input으로 받은 string letters의 유니온 타입이어야 합니다
설명
/* _____________ Your Code Here _____________ */
type StringToUnion<T extends string,P extends any[] = [] > = T extends `${infer A}${infer B}` ? StringToUnion<B,[...P,A]> :P[number]
/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'
type t = StringToUnion<'hello'>
type cases = [
Expect<Equal<StringToUnion<''>, never>>,
Expect<Equal<StringToUnion<'t'>, 't'>>,
Expect<Equal<StringToUnion<'hello'>, 'h' | 'e' | 'l' | 'l' | 'o'>>,
Expect<Equal<StringToUnion<'coronavirus'>, 'c' | 'o' | 'r' | 'o' | 'n' | 'a' | 'v' | 'i' | 'r' | 'u' | 's'>>,
]
우와~~ 제가 해냈어요!!
접근 방식은 다음과 같습니다
- union으로 만드는 방법은 배열을 도는 방법이라고 생각했어요
- 따라서 string을 배열로 만들고, 그
배열[number]
을 통해 union으로 만들고자 했습니다
반응형