본문 바로가기

Swift

[Swift] compactMap, flatMap

공부하다가 compactMap과 flatMap을 알았습니다.

일단 써봅시다.! 

 

flatMap과 compactMap 둘다 1차원 배열들을 옵셔널 바인딩 해주긴 하지만.

 

1차원 배열에서 사용

출력값 

 

그리고 경고창..

 

flatMap과 compactMap 둘다 1차원 배열들을 옵셔널 바인딩 해주긴 하지만 옵셔널 바인딩 하는 부분은 compactMap을 써라! 라고 하는 경고창 같아요.

 

flatMap과 compactMap의 기능을 확실히 분할한 것입니다.!!

 

2차원 배열에 사용

출력

2차원 배열에서 flatMap은 배열을 1차원으로 만들어주고 바인딩 시켜주지 않았습니다.

2차원 배열에서 compactMap은 그냥 map과 다를게 없네요.. 그냥 그대로! 

 

플랫하고 컴팩트하게

 

출력

결론

배열을 flatten하게 만들때 flatMap사용하고 1차원 배열에서 nil을 제거하기 위해 옵셔널 바인딩을 쓰고 싶을 때는 compactMap을 사용하자!

 

flat은 영어로 평평하게..

compact는 영어로 소형의 작은도 있지만 촘촘한, (흙을) 다진다.

'Swift' 카테고리의 다른 글

[Swift] - Operator  (0) 2021.07.07
[Swift] Dictionary - init, grouping, by  (0) 2021.04.06
[Swift] struct, class - remind  (0) 2021.03.28
[Swift] Completion, Closure Excaping  (0) 2021.03.25
[Swift] First Class Type  (0) 2021.03.25