[swift] 고차 함수를 사용하여 배열 내의 모든 원소들을 특정 값 기준으로 분류하는 방법은 어떻게 되나요?
예를 들어, 정수 배열을 특정 값을 기준으로 분류해보겠습니다. 아래의 코드를 참고하세요.
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// 짝수와 홀수로 분류하는 함수
func classifyEvenOdd(number: Int) -> String {
if number % 2 == 0 {
return "짝수"
} else {
return "홀수"
}
}
// 고차 함수를 사용하여 배열 내의 모든 원소를 분류
let classifiedNumbers = numbers.map(classifyEvenOdd(number:))
print(classifiedNumbers) // ["홀수", "짝수", "홀수", "짝수", "홀수", "짝수", "홀수", "짝수", "홀수", "짝수"]
위의 예시에서는 map(_:)
함수를 사용하여 classifyEvenOdd(number:)
함수를 배열의 각 원소에 대해 적용하였습니다. 이러면 numbers
배열의 모든 원소가 classifyEvenOdd(number:)
함수에 의해 분류되고, 분류된 결과가 classifiedNumbers
배열에 저장됩니다.
고차 함수를 사용하여 배열을 조작하는 것은 코드의 가독성과 유지 보수성을 향상시킬 수 있는 방법입니다.