[swift] 고차 함수를 사용하여 배열 내의 특정 조건을 만족하는 원소만 선택하는 방법은 무엇인가요?
Swift에서는 고차 함수를 사용하여 배열 내의 특정 조건을 만족하는 원소만 선택할 수 있습니다. 고차 함수는 기존 배열을 변환하거나 필터링하는 데 도움이 되는 강력한 기능을 제공합니다.
이 중 가장 자주 사용되는 고차 함수는 filter
입니다. filter
함수는 주어진 조건을 만족하는 원소만 포함하는 새로운 배열을 반환합니다.
다음은 filter
함수를 사용하여 배열 내에서 특정 조건을 만족하는 원소를 선택하는 예제 코드입니다.
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// 짝수인 원소만 선택
let evenNumbers = numbers.filter { $0 % 2 == 0 }
// evenNumbers = [2, 4, 6, 8, 10]
// 5보다 큰 원소만 선택
let greaterThanFive = numbers.filter { $0 > 5 }
// greaterThanFive = [6, 7, 8, 9, 10]
위의 예제에서는 filter
함수를 사용하여 numbers
배열 내에서 짝수인 원소를 선택하고, 5보다 큰 원소를 선택했습니다. 각각의 조건을 만족하는 원소만으로 이루어진 새로운 배열이 생성됩니다.
filter
함수의 인자로 클로저를 전달하는데, 클로저는 각 원소에 대해 조건을 확인하는 역할을 합니다. $0
은 클로저 내에서 현재 원소를 의미합니다. 조건을 만족하는 경우 true
를, 그렇지 않은 경우 false
를 반환하도록 클로저를 작성합니다.
고차 함수인 filter
뿐만 아니라, map
, reduce
, flatMap
등의 다양한 고차 함수를 사용하여 배열을 처리할 수 있습니다. Swift 문서 및 공식 Swift 블로그 등에서 더 많은 고차 함수의 사용법을 찾아볼 수 있습니다.