Swift & iOS

[Swift] 고차함수 (map, filter, reduce)

hammii 2022. 6. 22. 15:50
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
반응형