끄적끄적 개발기록

[Javascript] flatmap() 본문

개발/Javascript

[Javascript] flatmap()

*히아* 2022. 4. 20. 08:19

자바스크립트 코테를 풀다가 flatmap이라는 함수를 알게 되었다!

flatmap이란?

map()함수에 flat()함수를 적용한 값과 동일한 값을 한다!

flatMap() 메서드는 먼저 매핑함수를 사용해 각 엘리먼트에 대해 map 수행 후, 결과를 새로운 배열로 평탄화하는것! 

말 그대로 각각의 배열을 납작하게 눌러주어 하나의 배열로 만들어주는것!

 

 

 

코드를 보면 더 이해하기가 쉽다! 

let arr1 = [1, 2, 3, 4];

arr1.map(x => [x * 2]);
// [[2], [4], [6], [8]]

arr1.flatMap(x => [x * 2]);
// [2, 4, 6, 8]

// 한 레벨만 평탄화됨
arr1.flatMap(x => [[x * 2]]);
// [[2], [4], [6], [8]]

 

let arr1 = ["it's Sunny in", "", "California"];

arr1.map(x=>x.split(" "));
// [["it's","Sunny","in"],[""],["California"]]

arr1.flatMap(x => x.split(" "));
// ["it's","Sunny","in","California"]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap

 

Array.prototype.flatMap() - JavaScript | MDN

flatMap() 메서드는 먼저 매핑함수를 사용해 각 엘리먼트에 대해 map 수행 후, 결과를 새로운 배열로 평탄화합니다. 이는 깊이 1의 flat 이 뒤따르는 map 과 동일하지만, flatMap 은 아주 유용하며 둘을

developer.mozilla.org