[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 공식 문서를 참고하시면 도움이 될 것입니다. 여기를 참고해주세요.