안녕하세요, 새내기 개발자입니다~!
오늘은 swift언어 filter함수에 대해서 알아볼게요~!
Swift의 filter 함수는 배열과 같은 시퀀스를 필터링하여 특정 조건을 만족하는 요소들로 이루어진 새로운 배열을 생성하는 기능을 제공하는 고차 함수입니다. 이를 통해 데이터를 변환하거나 걸러내는 등의 작업을 간단하게 수행할 수 있습니다.
filter 함수의 기본적인 구조는 다음과 같습니다.
<예시코드>
func filter(_ isIncluded: (Element) throws -> Bool) rethrows -> [Element]
isIncluded: 각 요소에 대해 호출되는 클로저로, 이 클로저가 true를 반환하는 요소들만 새 배열에 포함됩니다.
Element: 시퀀스의 요소 유형입니다.
filter 함수의 사용 예제를 살펴보겠습니다.
<예시코드>
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// 짝수만 필터링
let evenNumbers = numbers.filter { $0 % 2 == 0 }
print(evenNumbers) // 출력: [2, 4, 6, 8, 10]
위의 코드에서 $0는 클로저 내부에서 현재 처리 중인 배열 요소를 나타냅니다. 클로저 내부에서 조건을 확인하고 해당 조건을 만족하는 요소들로 새로운 배열을 생성합니다.
또한, 다른 예제로 문자열 배열에서 길이가 5 이하인 단어만 필터링하는 경우를 살펴보겠습니다.
<예시코드>
let words = ["apple", "banana", "cherry", "date", "elderberry"]
let shortWords = words.filter { $0.count <= 5 }
print(shortWords) // 출력: ["apple", "date"]
이와 같이 filter 함수를 사용하면 컬렉션 내에서 특정 조건을 만족하는 요소들을 간단하게 추출할 수 있습니다. 이는 데이터 처리와 변환 작업을 효율적이고 간결하게 수행하는 데에 도움이 됩니다.
많이 배워갑니다~ 좋은 글 많이 써주세요!