[swift] filter 고차 함수의 사용법과 예시는 어떻게 되나요?

Swift는 함수형 프로그래밍을 지원하는 다양한 고차 함수를 제공합니다. 그 중 하나인 filter 함수는 주어진 조건에 맞는 요소만을 걸러내는 데 사용됩니다.

filter 함수는 배열이나 컬렉션을 입력받아, 조건을 만족하는 요소들로 이루어진 새로운 배열을 반환합니다.

다음은 filter 함수의 기본적인 사용법입니다:

let numbers = [1, 2, 3, 4, 5]

// 홀수만을 필터링하여 새로운 배열 생성
let oddNumbers = numbers.filter({ $0 % 2 != 0 })

print(oddNumbers) // [1, 3, 5]

위의 예시에서는 numbers 배열을 입력으로 받아, $0 % 2 != 0 조건을 만족하는 홀수들로 이루어진 oddNumbers 배열을 생성하고 출력합니다.

filter 함수는 클로저를 매개변수로 받아 조건을 검사합니다. $0은 클로저의 매개변수로 받은 요소를 의미하며, 예시에서는 홀수인지를 판별하는 조건을 사용하였습니다.

filter 함수를 사용하여 다양한 조건에 맞는 요소를 걸러낼 수 있습니다. 예를 들어, 문자열 배열에서 특정 문자열로 시작하는 요소만 걸러내기 위해서는 다음과 같이 사용할 수 있습니다:

let names = ["Alice", "Bob", "Charlie", "David"]

// "A"로 시작하는 이름들만을 필터링하여 새로운 배열 생성
let filteredNames = names.filter({ $0.hasPrefix("A") })

print(filteredNames) // ["Alice"]

위의 예시에서는 names 배열을 입력으로 받아, $0.hasPrefix("A") 조건을 만족하는 이름들로 이루어진 filteredNames 배열을 생성하고 출력합니다.

filter 함수는 배열이나 컬렉션에서 원하는 조건을 적용하여 필요한 요소들만을 걸러낼 때 매우 유용합니다.

더 자세한 내용은 Swift 공식 문서를 참고하시면 도움이 될 것입니다. 여기를 참고해주세요.