[swift] reduce 고차 함수의 사용법과 예시는 어떻게 되나요?

reduce 함수는 Swift에서 제공하는 고차 함수 중 하나입니다. 이 함수는 컬렉션의 요소들을 하나의 값으로 결합하는 기능을 제공합니다.

사용법:

let result = collection.reduce(initialValue) { (partialResult, element) in
    // return updated value
}

첫 번째 매개변수로는 초기값(initialValue)을 전달하고, 두 번째 매개변수로는 클로저를 전달합니다. 클로저는 이전 값(partialResult)과 현재 요소(element)를 받아서 갱신된 값을 반환해야 합니다.

예시:

let numbers = [1, 2, 3, 4, 5]
let sum = numbers.reduce(0) { (partialResult, element) in
    return partialResult + element
}
print(sum) // 15

위의 예시에서는 numbers 배열의 모든 요소를 더해서 합(sum)을 구하는 코드입니다. 초기값으로 0을 전달하고, 클로저에서는 partialResult와 element를 더한 값을 반환하게 됩니다.

reduce 함수는 컬렉션의 각 요소를 순회하면서 값을 갱신해 나가는 특징을 가지고 있습니다. 따라서 초기값과 클로저를 적절히 활용하면 다양한 연산을 수행할 수 있습니다.

참고 자료: