[Swift] flatMap & compactMap
flatMap과 compactMap의 차이에 대해 기록해보겠습니다. 아래 그림과 같이, Swift 4.1부터는 원래 사용되었던 flatMap이 deprecated되고 새로운 flatMap과 compactMap으로 바뀝니다. 새롭게 바뀐 flatMap은 2차원 배열에서 1차원 배열로 flatten하게 만들어주는 역할로 쓰입니다. 즉, 내부의 컨텍스트를 같은 위상으로 만들어줍니다. var nums = [[1,2,3],[4,5],[6]] let flatten = nums.flatMap { $0 } // [1,2,3,4,5,6] let compacted = nums.compactMap { $0 } // [[1,2,3],[4,5],[6]] compactMap은 nil을 제거하고 옵셔널 바인딩이 필요할 때 사용합니..
2021. 1. 23.