반응형
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
- dp
- typescript
- 타입스크립트
- 자바스크립트
- type challenge
- HTTP
- 프로그래머스 레벨 2
- 그래프
- dfs
- 타입 챌린지
- 크롤링
- 프로그래머스
- Algorithm
- Node.js
- Crawling
- 수학
- 가천대
- 소켓
- 쉬운 문제
- 레벨 1
- javascript
- 문자열
- 알고리즘
- ip
- HTTP 완벽 가이드
- BFS
- Nestjs
- 백준
- TCP
- socket
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 |