[Swift] 맵, flatmap,commpactMap의 차이점 노트
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을 제거하지 않습니다
Reference
이 문제에 관하여([Swift] 맵, flatmap,commpactMap의 차이점 노트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/lsk4f5/articles/6ca391c5514367텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)