일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ios
- WeatherKit
- 실습
- 딕셔너리
- struct
- 토이프로젝트
- 프로토콜
- CS
- 이론
- AppStore
- 구름톤 유니브
- 대표
- RxSwift
- forEach
- 세종대학교
- 협업
- async
- 스트럭트
- 기초문법
- 앱개발
- 반응형
- MVVM
- collectionview
- SwiftUI
- 디자인 패턴
- mvc
- 학과별커뮤니티
- swift
- 네트워크
- uikit
- Today
- Total
스윞한 개발자
Swift 기초 문법 - 고차함수 Higher Order Functions 본문
이번 포스팅은 고차함수에 대해 알아볼게요!
고차함수,,
뭔가 좀 어렵다는 느낌이 들지만 !! 차근차근 또 배워가며 기록해볼게요
고차함수 - Higher Order Functions
"고차함수는 함수를 인자로 받거나 함수를 반환하는 함수를 말합니다."
스위프트에서는 여러가지 고차함수가 제공되고 있으며, 일반적인 고차함수로는 map, filter, reduce가 있습니다. 컬렉션에 대해 작업을 수행하고 새로운 컬렉션을 반환합니다.
1. map :
컬렉션의 각 요소에 대해 특정 연산을 수행하고, 그 결과를 새로운 컬렉션으로 반환합니다.
2. filter :
컬렉션의 요소 중 특정 조건을 만족하는 요소들로 새로운 컬렉션을 생성하여 반환합니다.
3. reduce :
컬렉션의 요소를 결합하여 단일 값으로 줄여 반환합니다. 주로 누적된 값을 구할 때 사용합니다.
let numbers = [1, 2, 3, 4, 5]
// map: 각 요소를 제곱하여 새로운 배열을 생성
let squaredNumbers = numbers.map { $0 * $0 } // [1, 4, 9, 16, 25]
// filter: 짝수만을 걸러내는 새로운 배열 생성
let evenNumbers = numbers.filter { $0 % 2 == 0 } // [2, 4]
// reduce: 모든 요소를 더하여 합산
let sum = numbers.reduce(0, +) // 15
고차함수는 또한 클로저를 이용해 사용자 정의 연산을 적용할 수 있습니다.
기본적인 map, filter, reduce 내장함수 이외에도
고차 함수의 정의에 맞게 직접 사용할 수도 있습니다.
출처 : 개발하는 정대리
- 고차함수 sort, sorted 정렬
고차함수인 'sort'와 'sorted'는 스위프트의 배열 정렬에 사용되는 함수입니다.
이 두 함수는 배열의 요소를 정렬하는데 사용되며, 요소의 순서를 기준으로 오름차순 또는 내림차순으로 정렬할수 있습니다.
1. 'sort' 함수 :
sort 함수는 배열을 정렬하며, 배열 자체를 수정합니다. 즉, 원본 배열의 순서가 변경됩니다.
var numbers = [5, 2, 9, 1, 5, 6]
// 오름차순 정렬
numbers.sort()
// 내림차순 정렬
numbers.sort { $0 > $1 }
print(numbers) // 출력: [9, 6, 5, 5, 2, 1]
2. 'sorted' 함수 :
sorted 함수는 배열을 정렬한 새로운 배열을 반환합니다. 원본 배열은 변경되지 않습니다.
즉, 정렬 된 새로운 배열을 얻고 싶을 때 sorted 함수를 사용합니다.
let numbers = [5, 2, 9, 1, 5, 6]
// 오름차순 정렬된 새로운 배열 반환
let ascendingArray = numbers.sorted()
// 내림차순 정렬된 새로운 배열 반환
let descendingArray = numbers.sorted { $0 > $1 }
print(ascendingArray) // 출력: [1, 2, 5, 5, 6, 9]
print(descendingArray) // 출력: [9, 6, 5, 5, 2, 1]
sort 함수와 sorted 함수는 모두 배열의 요소를 정렬하는데 사용되지만, sort 함수는 원본 배열을 변경하고 sorted함수는 정렬된 새로운 배열을 반환하는 차이가 있습니다.
출처 : 개발하는 정대리
'Swift 이론' 카테고리의 다른 글
Swift 기초 문법 - private(set)/foreach, enumerate/compactMap/flatMap (0) | 2024.01.24 |
---|---|
Swift 기초 문법 - lazy 키워드 (0) | 2024.01.24 |
Swift 기초 문법 - 별칭/typealias, Set (0) | 2024.01.23 |
Swift 기초문법 - 프로토콜 (0) | 2024.01.23 |
Swift 기초문법 - 스트럭트 mutating/메서드 (0) | 2024.01.23 |