[swift] 고차 함수를 사용하여 배열의 원소를 특정 값으로 변경하는 방법은 어떻게 되나요?

먼저, map() 함수를 사용하여 배열의 모든 원소에 새로운 값을 할당할 수 있습니다. map() 함수는 원본 배열을 변경하지 않고 새로운 배열을 반환합니다. 이를 통해 기존 배열의 각 원소를 변환하고 새로운 값을 할당할 수 있습니다.

예를 들어, 정수 배열의 모든 원소를 2배로 만들고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

let numbers = [1, 2, 3, 4, 5]
let doubledNumbers = numbers.map { $0 * 2 }
print(doubledNumbers) // 출력: [2, 4, 6, 8, 10]

위 코드에서는 map() 함수를 사용하여 numbers 배열의 각 원소에 2를 곱해 새로운 배열 doubledNumbers를 생성했습니다.

또 다른 방법은 forEach() 함수를 사용하여 배열의 각 원소에 새로운 값을 할당하는 것입니다. forEach() 함수는 반복문을 사용하여 배열의 각 원소에 접근하고 특정 동작을 수행할 수 있습니다. 원본 배열을 변경하며 반환값이 없기 때문에 이를 사용하면 기존 배열을 수정할 수 있습니다.

예를 들어, 문자열 배열의 모든 원소를 대문자로 변경하고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

var names = ["john", "jane", "jacob"]
names.forEach { name in
    name = name.uppercased()
}
print(names) // 출력: ["JOHN", "JANE", "JACOB"]

위 코드에서는 forEach() 함수를 사용하여 names 배열의 각 원소인 name을 대문자로 변경하여 다시 할당했습니다.

고차 함수와 배열을 사용하여 특정 값으로 배열의 원소를 변경할 수 있으며, map() 함수는 새로운 배열을 반환하고 forEach() 함수는 원본 배열을 변경합니다. 이를 활용하여 여러 가지 작업을 수행할 수 있습니다.