[Swift] 고차 함수

HongDuHyeon·2023년 4월 16일
0
post-thumbnail
기초를 거의 톺아봤는데.. 어려운게 아직도 너무 많은 swift

고차함수란?

  • 다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수
  • swift에서 제공하는 고차함수는 map, filter, reduce가 있고 모두 collection 타입에 구현 되어있다.

map

map은 컨테이너 내부에 기존 데이터를 변형하여 새로운 컨테이너를 생성한다.

let numbers = [0,1,2,3]
let mapArray = numbers.map{ (number)-> Int in
    return number * 2
}
 
print ("map \(mapArray)")
// map [0, 2, 4, 8]

filter

filter는 컨테이너 내부의 값을 걸러서 새로운 컨테이너로 추출한다.

let intArray = [10,5,20,13,4]
let filterArray = intArray.filter{$0 > 5}

print("filter \(filterArray)")
// filter [10, 20, 13]

reduce

reduce는 컨테이너 내부의 요소를 하나로 통합시켜준다.

let someArray = [1,2,3,4,5]
let reduceResult = someArray.reduce(0) {
    (result: Int, element: Int) -> Int in
    // result는 누적값
    // element는 배열의 요소 값
    print("\(result)+\(element)")
    return result  + element
}


print("reduce \(reduceResult)")
// 0+1
// 1+2
// 3+3
// 6+4
// 10+5
// reduce 15
profile
마음이 시키는 프론트엔드.. RN과 IOS를 곁들인..

0개의 댓글