매우 긴 과정이었습니다. 한눈에 보기 쉽게 표로 정리하면 다음과 같습니다.
▼ 표 3-1 R의 경우 Depth별 결괏값 정리
Depth |
Arr |
Depth extends -1 |
InnerArr 또는 Arr |
1 |
(number | (number | number[])[])[] |
false |
InnerArr = number | (number | number[])[] |
0 |
number | (number | number[])[] |
false |
InnerArr = number | number[] |
-1 |
number | number[] |
true |
Arr = number | number[] |
이번에는 Depth가 1이 아닌 경우를 분석해봅시다. 앞에서 다음과 같은 코드를 입력했습니다.
…
const R2 = A.flat(2); // [1, 2, 3, 4, 5, 6]
// const R2: number[]