[Swift] 고차함수

ds-k.mo·2022년 4월 29일
0

Swift

목록 보기
20/22

! 공부해보기

http://minsone.github.io/mac/ios/swift-map-filter-reduce-and-inference

고차함수

다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수

map, filter, reduce


// 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(0) {
    (acc: Int, cur: Int) -> Int in
    print("\(acc) + \(cur)")
    return acc + cur
}
/*
 0 + 1
 1 + 2
 3 + 3
 6 + 4
 10 + 5
 */

print("reduce \(reduceResult)") // reduce 15

0개의 댓글