본문 바로가기

코딩/Javascript

자바스크립트 - flatMap() 함수 사용법 (flat() 함수와 map() 함수를 합친 함수)

반응형

flatMap() 함수는 map() 함수와 동일하게 작용하지만

추가적으로 map() 함수 실행 시, 접근하는 각 요소에 flat() 함수를 적용한다.

 

자세한 정보 - https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap

 

flatMap() 함수가 map() 함수 와 다른 점.

const arr = [1, [2, 3, [4, [5]]]];

const mapRes = arr.map(ele => ele);
const flatMapRes = arr.flatMap(ele => ele);

console.log(mapRes);     // [1, [2, 3, [4, [5]]]]
console.log(flatMapRes); // [1, 2, 3, [4, [5]]]

두 함수는 동일하게 인수를 함수에 넣어 실행이 가능하다.

다만 flatMap() 함수는 모든 중첩된 배열들을 한 번 평탄화한다.

(예: 요소 23은 한 번 중첩된 배열의 요소에서 부모 배열의 요소로 된 모습)

 

flatMap() 함수는 flat() 함수와 다르게 N번 깊이까지 배열을 평탄화할 수 없고, 모든 중첩된 배열을 한 번만 평탄화한다.

반응형