[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 블로그 등에서 더 많은 고차 함수의 사용법을 찾아볼 수 있습니다.