Swift 기초 문법 - 43. reduce

정성윤·2023년 8월 12일
0

Swift 이론

목록 보기
46/64

reduce는 스위프트의 고차함수 중 하나로, 컬렉션(배열, 딕셔너리, 세트)의 요소들을 결합하거나 축소하여 하나의 결과값을 생성하는 함수입니다.

주로 초기값과 클로저를 활용하여 컬렉션 내의 요소들을 반복하면서 연산을 수행합니다.

reduce 기본 형식

func reduce<Result>(_ initialResult: Result, _ nextPartialResult: (Result, Element) throws -> Result) rethrows -> Result

initialResult : 연산의 초기값으로 사용될 값입니다.
nextPartialResult : 클로저로, 컬렉션의 각 요소와 이전 단계의 결과값을 받아 새로운 결과값을 반환하는 역할을 합니다.

배열 요소의 합 구하기

let numbers = [1, 2, 3, 4, 5]
let sum = numbers.reduce(0) { (result, number) in
    return result + number
}
print(sum)  // 출력: 15

배열 요소의 곱 구하기

let numbers = [2, 3, 4, 5]
let product = numbers.reduce(1) { (result, number) in
    return result * number
}
print(product)  // 출력: 120

문자열 배열의 하나의 문자열로 결합하기

let words = ["Hello", "Swift", "Programming"]
let combined = words.reduce("") { (result, word) in
    return result + " " + word
}
print(combined)  // 출력: " Hello Swift Programming"

딕셔너리의 값을 합치기

let scores = ["Alice": 85, "Bob": 92, "Charlie": 78]
let totalScore = scores.reduce(0) { (result, keyValue) in
    let (_, score) = keyValue
    return result + score
}
print(totalScore)  // 출력: 255

참고(출처) : 개발하는 정대리, 야곰(Swift5>> 참고(출처) : 개발하는 정대리, 야곰(Swift5식)

profile
이유있는 스위프트 개발자

0개의 댓글