앞으로 Swift에서 자주 사용할 것 같은(?) map, flatMap, compactMap
에 대해서 정리하려고 한다!
이따가... 위의 링크 설명 잘되어있음!
map
은 container의 값을 매개 변수로 받아, 해당 값에 function을 적용하고 return하는 function이다. 어떤 String Array가 있을때, element 별로 특정 function을 적용하는,, python의 lambda와 R의 anonymous function과 유사한 방식으로 작동한다.
swift에서는 array, dictionaries, set 등에서 map을 method로 가지고 있다!!
let fruits = ["apple", "cherry", "orange"]
let upperFruits = fruits.map{return $0.uppercassed()}
여기서 중요한 점은, map을 사용할 때는 간결성을 위해 Function을 만들어서 사용하기 보다는, Closure를 사용한다는 점이다. 위의 예시처럼, map
은 fruits의 "apple", "cherry", "orange" 각각에 Closure가 적용된다.