map을 무작정 돌리면 안좋은 점이 배열 안에 불필요하게 감싸는 배열이 생길 수 있다는 점이다.
복잡한 객체를 원하는 간단한 배열로 바꿀 때 여러 메소드들이 필요하다.
그 중 flatMap 이라는 메소드는 현재 실험 단계의 js 메소드이다. 작동 방식은 reduce 와 concat 을 함께 쓴 것과 똑같이 작동한다.
let arr1 = ["it's Sunny in", "", "California"]
다음과 같은 배열에서 띄어쓰기를 기준으로 단어를 나누고 싶을 때,
arr1.map(x=>x.split(" "))
그냥 map 을 돌리면 각각 요소에 대한 배열을 큰 배열이 감싸져 있는 형태로 반환된다.
arr2.flatMap(x => x.split(" "))
flatMap 을 돌리면 필요없는 큰 배열과 각각의 문자열을 감싸고 있는 배열이 사라지고 각 문자열 요소에 대한 최상단 배열만 남아있게 된다.
'JavaScript' 카테고리의 다른 글
22.05.11 delete 객체 속성 제거 (0) | 2022.05.12 |
---|---|
22.05.09 map 의 결과가 undefined 일 경우 skip (0) | 2022.05.10 |
22.05.08 객체에서 속성 찾기 hasOwnProperty 와 in (0) | 2022.05.08 |
22.05.08 객체와 toString() (0) | 2022.05.08 |
22.05.08 생성자와 return 문 (0) | 2022.05.08 |