[자바스크립트] flat() 함수-중첩된 배열 구조 하나로 합치기

정의

flat() 메서드는 모든 하위 배열 요소를 지정한 깊이까지 재귀적으로 이어붙인 새로운 배열을 생성합니다.

 

구문

const newArr = arr.flat([depth])

 

예시

const arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]

const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]

const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]

const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

위의 예시 중 arr2, arr3, arr4를 살펴보면

flat의 인자에 따라 얼마만큼의 깊이(depth)까지 하나로 합칠 것인지 정할 수 있다.

 

flat 함수는 배열의 구멍도 제거할 수 있다.

const arr5 = [1, 2, , 4, 5];
arr5.flat();
// [1, 2, 4, 5]

 

flat은 영어 뜻처럼 배열을 평평하게(?) 만드는 특징이 있다.

 

 

Array.prototype.flat() - JavaScript | MDN

flat() 메서드는 모든 하위 배열 요소를 지정한 깊이까지 재귀적으로 이어붙인 새로운 배열을 생성합니다.const newArr = arr.flat([depth]) depth Optional 중첩 배열 구조를 평탄화할 때 사용할 깊이 값. 기본

developer.mozilla.org

 

320x100