배열 평탄화를 위한 함수 flat(), flatMap()
2022.02.17
두 함수 모두 ECMAScript 2019 (ES10)에 새롭게 추가된 함수.
flat(x) 함수는 중첩된 배열을 x 깊이만큼 평탄화시키는 함수이다.
const fruits = ['apple', ['banana', 'orange', ['melon']]] 일 때,
console.log(fruits.flat(1)); 의 경우
['apple', 'banana', 'orange', ['melon']] 가 출력된다.
console.log(fruits.flat(2)); 의 경우
['apple', 'banana', 'orange', 'melon'] 가 출력된다.
console.log(fruits.flat(Infinity)); 를 통해 모든 중첩 배열을 최대한 평탄화시킬 수도 있다.
flatMap() 함수는 flat() 함수와 map() 함수를 합친 함수이다.
다만 flatMap()은 flat() 함수와는 달리 평탄화 가능한 깊이가 1로 고정된다는 특징이 있다.
const children = [[1], [2], [3], [4]] 일 때
각 요소들에 2를 곱하고 1만큼 평탄화시키고싶다 한다면
console.log(children.flatMap((x) => ([x*2])); 를 시행할 경우
[2, 4, 6, 8] 이 출력된다.
출처 : 링크
댓글을 작성해보세요.