중첩된 다차원 배열의 모든 원소를 펼쳐놓은 배열로 반환하며 인수로 지정된 깊이에 따라 펼쳐놓을 배열의 원소를 결정한다.
array.flat([depth])
생략하는 경우에 1
이며 다음과 같이 중첩된 배열의 경우에 해당한다.
[1, 2, [3]].flat()
// [1, 2, 3]
1
보다 큰 값을 명시하는 경우에는 위에서 예시한 것에서 중첩 단계가 하나씩 증가된 배열을 대상으로 모든 원소를 평면화하여 나열한다.
[1, 2, [3,[4]]].flat(2)
// [1, 2, 3, 4]
만약에 중첩 단계가 명시된 깊이보다 큰 경우에는 나머지 하위 배열을 그대로 원소로 둔다.
[1, 2, [3,[4,[5]]]].flat(2)
// [1, 2, 3, 4, Array(1)]
// 배열의 원소 구조는 [1, 2, 3, 4, [5]]로 된다.
중첩된 배열의 모든 원소가 연결된 새로운 배열을 반환한다.