728x90
반응형
고차함수란?
다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수
map
컨테이너 내부의 기존 데이터를 변형하여, 새로운 컨테이너를 생성하는 함수이다.
let numbers = [0,1,2,3]
let mapArray = numbers.map { (number) -> Int in
return number * 2
}
print("map \(mapArray)") // map [0, 2, 4, 6]
filter
컨테이너 내부의 값을 걸러서, 새로운 컨테이너로 추출하는 함수이다.
let intArray = [10,5,20,13,4]
let filterArray = intArray.filter { $0 > 5 }
print("filter \(filterArray)") // filter [10, 20, 13]
reduce
컨테이너 내부의 요소를 하나로 통합시켜주는 함수이다.
let someArray = [1,2,3,4,5]
let reduceResult = someArray.reduce(1) {
(result: Int, element: Int) -> Int in
print("\(result) + \(element)")
return result + element
}
print("reduce \(reduceResult)")
/* Prints
1 + 1
2 + 2
4 + 3
7 + 4
11 + 5
reduce 16
*/
출처: [패스트캠퍼스] 30개 프로젝트로 배우는 iOS 앱 개발 with Swift 초격차 패키지 Online.
728x90
반응형