Map
map은 각 element를 순회하면서 element를 수정할 때 사용하기 좋은 함수이다. 예를 들어 우리는 각 String에 "box"라는 String을 덧붙이기 위하여 for-in을 떠올리기 쉽다.
ex)
for string in strArray {
string += "box"
}
대신에 map 함수를 사용하면 한줄로 간단하게 작성할 수 있다.
ex)
var resultArray = strArray.map({$0+"box"})
참고로 map의 param 함수 타입은 '(T) -> U'이다. map 함수는 Array의 각 element를 순회하면서 개발자가 정의한 동작을 수행하게 된다.
Filter
filter는 말 그대로 특정 조건을 통과한 element들을 모아서 Array로 반환하는 함수 이다. filter의 param 함수 타입은 '(T) -> Bool'이다. 작성하면 아래와 같다.
ex)
var filteredArray = moneyArray.filter({$0<1_000})
Reduce
reduce는 element들을 하나의 value로 통합하는 함수이다. reduce의 함수 원형은 'func reduce<U>(initial: U, combine: (U, T) -> U) -> U'이다. 이를 이용하여 작성하면 아래와 같다.
ex)
var sum = moneyArray.reduce(0, combine: +)
moneyArray의 element는 Integer로 각 element의 합을 구하는 것이다. 혹은 아래와 같이 String을 reduce할 경우, element들을 하나의 String으로 통합할 수도 있다.
ex)
var aString = resultArray.reduce("", combine: {$0+$1 + "!! "})
'Programming > Mac & iOS' 카테고리의 다른 글
[iOS] Notification Action : Interactive Notification in iOS8 (0) | 2014.09.18 |
---|---|
[iOS] App Extension : Today view (Widget) (0) | 2014.09.18 |
[iOS] iOS에서 Cloud 활용 (Cloud Kit 요약 정리) (0) | 2014.09.01 |
[Swift] Swift Study 3주차 요약 (ARC, Extension, Generics, Operators ... etc) (0) | 2014.08.25 |
[Swift] Swift Study 2주차 요약 (Closure, Collection, Property, Initialization, Observer ... etc) (0) | 2014.08.18 |