[swift] 고차 함수를 사용하여 배열 내의 원소들을 특정 조건에 따라 필터링하는 방법은 어떻게 되나요?

Swift에서 배열을 필터링하는 데는 여러 가지 방법이 있지만, 고차 함수 중에서 filter 함수를 사용하여 특정 조건에 해당하는 원소들만 남길 수 있습니다. filter 함수는 배열을 순회하면서 각 원소를 주어진 조건에 따라 판별한 후, 조건에 맞는 원소만 모아 새로운 배열을 만듭니다.

아래는 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]

위 예제에서는 numbers 배열을 filter 함수를 통해 조건을 지정하여 필터링하고, 결과로서 evenNumbers 배열에 짝수만 남게 됩니다. 클로저({ $0 % 2 == 0 }) 내부의 조건식 ` $0 % 2 == 0`은 각 원소가 2로 나누어 떨어지는지를 확인하는 것입니다.

고차 함수를 사용하여 배열을 필터링하면 보다 간결하고 가독성이 높은 코드를 작성할 수 있습니다. 즉, 별도의 반복문을 사용하지 않고도 조건에 해당하는 원소들을 필터링하여 쉽게 추출할 수 있습니다.

자세한 내용은 Swift 고차 함수 문서를 참고하시면 됩니다.