반응형
기본적인 라이브러리를 공부하고 해야지 해야지 하다가 놓친게 있었는데
코딩테스트를 하다가 계속 반복해서 찾게 되어서 별도로 포스팅 해보았습니다.
0. 고차함수란?
다른 함수의 전달인자를 함수로 받거나, 함수실행의 결과를 함수로 반환하는 함수입니다.
1. Map
배열 원소의 변형에 매우 효과적입니다.
var arr: [String] = ["Apple", "Banana", "Mango"]
let lowwer = arr.map{ $0.lowwercased() }
//lowwer = ["apple", "banana", "mango"]
var chars: [Characters] = ["1", "2", "3", "4", "5"]
let toInt = chars.map{ $0.isWholeNumber! }
//toIn = [1, 2, 3, 4, 5,]
2. Reduce
배열 원소의 결합에 효과적입니다.
숫자 연산뿐만 아니라 문자열 연산도 가능하니 활용도는 높은 것 같습니다.
let nums = [1, 2, 3, 4]
//매개변수는 시작값 입니다.
let sum1 = nums.reduce(0) { $0 + $1 }
print(sum) // 10
let sum2 = nums.reduce(10) { $0 + $1 }
print(sum) // 20
let mul = nums.reduce(0) { $0 * $01 }
print(mul) // 24
let strings = ["i","am","groot"]
let strSum = strings.reduce("[groot]":) { $0 + $1}
print(strSum) //[groot]:iamgroot
3. Filter
조건에 맞는 배열의 원소값을 추출할 때 효과적입니다.
let numbers = [3, 4, 5, 6]
let odds = numbers.filter{ $0 % 2 == 1 }
print(odds) // [3, 5]
반응형
'Language > Swift' 카테고리의 다른 글
Swift에서 정규식 사용하기 (0) | 2021.04.20 |
---|---|
[Swift] GCD로 경마 구현해보기 (0) | 2021.03.24 |
Swift GCD(Grand Central Dispatch) [5] - Group, WorkItem (0) | 2021.03.23 |
Swift GCD(Grand Central Dispatch) [4] - RunLoop 실행과 종료 (0) | 2021.03.23 |
Swift GCD(Grand Central Dispatch) [3] - 예제 사용해보기 (0) | 2021.03.22 |