[Swift] 맵, flatmap,commpactMap의 차이점 노트

3584 단어 iOSSwifttech
let a = [1, 2, 3, nil]
맵의 경우
let b = a.map { [$0] }
print(b)
// [[Optional(1)], [Optional(2)], [Optional(3)], [nil]]

let d = a.map { $0 }
print(d)
// [Optional(1), Optional(2), Optional(3), nil]
b의 경우let b: [[Int?]]Int형의 이중 배열로optional이 되다
d의 경우let d: [Int?]flatMap의 경우
let c = a.flatMap { [$0] }
print(c)
// [Optional(1), Optional(2), Optional(3), nil]
맵의 경우 이중 배열이지만flatmap을 사용하면 벽장 안에서 되돌아오는 배열을 일차 배열로 변환할 수 있습니다
compactMap의 경우
let e = a.compactMap { $0 }
print(e)
// [1, 2, 3]
어레이에서 nil을 제거하려면 compaactMap을 사용합니다.
let f = a.compactMap { [$0] }
print(f)
// [[Optional(1)], [Optional(2)], [Optional(3)], [nil]]
벽장에 있는 파라미터를 이중으로 배열하면nil을 제거하지 않습니다

좋은 웹페이지 즐겨찾기