flatMap은 스위프트에서 배열 또는 다른 컬렉션을 변환하거나 평탄화하는 데 사용되는 함수 중 하나입니다.
이 함수는 각 요소에 대해 변환 클로저를 실행하고, 변환 결과 중에서 nil이 아닌 값들을 추출하여 하나의 평탄한 배열로 반환합니다.
let nestedArray = [[1, 2, 3], [4, 5], [6, 7, 8]]
let flattenedArray = nestedArray.flatMap { $0 }
print(flattenedArray) // 출력: [1, 2, 3, 4, 5, 6, 7, 8]
flatMap은 각 중첩 배열을 하나의 배열로 펼치고, 모든 값들을 하나의 평탄한 배열로 만듭니다.
flatMap은 옵셔널 값을 가진 배열에서 nil이 아닌 값들로 이루어진 배열을 생성하거나 변환하는 데에도 사용될 수 있습니다.
let optionalIntArray: [Int?] = [1, 2, nil, 4, nil, 6]
let nonNilIntArray = optionalIntArray.flatMap { $0 }
print(nonNilIntArray) // 출력: [1, 2, 4, 6]
참고(출처) : 개발하는 정대리, 야곰(Swif5)