[swift] 고차 함수를 사용하여 배열의 원소를 특정 조건에 따라 순차적으로 변형하는 방법은 어떻게 되나요?

예를 들어, 어떤 배열의 모든 원소를 제곱하여 새로운 배열을 만들고 싶다고 가정해 봅시다. 다음은 map 함수를 이용하여 이를 구현한 예시 코드입니다.

let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map { $0 * $0 }
print(squaredNumbers)  // 출력: [1, 4, 9, 16, 25]

위의 코드에서 numbers라는 배열의 각 원소에 대해서 $0 * $0 클로저를 실행하여 제곱 값을 구하고, 새로운 배열 squaredNumbers에 저장하였습니다.

첫 번째 줄에서 numbers 배열을 정의하고, 두 번째 줄에서 map 함수를 사용하여 각 원소를 제곱한 값을 새로운 배열로 만듭니다. 클로저 내부에서는 $0이 배열의 각 원소를 의미합니다. 마지막으로 print 함수를 사용하여 squaredNumbers 배열을 출력합니다.

map 함수는 배열의 각 원소를 변형할 때 유용하게 사용할 수 있는 고차 함수 중 하나입니다. 이 외에도 filter, reduce 등의 고차 함수를 사용하여 배열을 조작할 수 있습니다. 자세한 내용은 Swift 공식 문서를 참고하시기 바랍니다.

참고 문서: