반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 문자열
- 자바스크립트
- type challenge
- 프로그래머스
- TCP
- Node.js
- 수학
- 그래프
- 프로그래머스 레벨 2
- socket
- dfs
- 타입스크립트
- 가천대
- HTTP
- 타입 챌린지
- Crawling
- dp
- Algorithm
- Nestjs
- javascript
- typescript
- HTTP 완벽 가이드
- 레벨 1
- ip
- 백준
- 알고리즘
- 쉬운 문제
- 크롤링
- BFS
- 소켓
Archives
- Today
- Total
kakasoo
Flatten 본문
반응형
type Flatten<T extends any[]> = T extends [infer R, ...infer Rest] ? R extends any[] ? [...Flatten<R>, ...Flatten<Rest>] : [R, ...Flatten<Rest>] : [];
배열인지 아닌지에 따라 재귀적으로 풀 것인지 결정하면 된다.
만약 T가 infer R과 infer Rest로 구성된 배열일 때, R이 배열인지 아닌지에 따라 재귀적으로 접근하면 된다.
Rest는 나머지 요소들이기 때문에 무조건 배열이며 따라서 재귀적으로 접근하면 된다.
만약 T가 이러한 배열이 아닐 경우에는 빈 배열이 된다.
반응형
'프로그래밍 > TypeScript' 카테고리의 다른 글
TrimRight (0) | 2023.03.21 |
---|---|
TrimLeft (0) | 2023.03.20 |
DeepReadonly (0) | 2023.03.19 |
TypeScript 코드는 어떻게 변환되는가? (0) | 2023.03.19 |
함수의 리턴 타입 알아내기 (0) | 2023.03.06 |