Swift에서 배열의 모든 값에 특정한 값을 빼고, 그 결과를 절댓값으로 변환하고자 할 때, 맵 함수를 사용할 수 있습니다. 맵 함수는 배열의 각 요소에 대해 동작을 적용하고, 변환된 값을 새로운 배열로 반환해주는 기능을 제공합니다. 이를 사용하면 간편하게 배열의 요소를 변환할 수 있습니다.
다음은 맵 함수를 사용하여 배열의 값에 특정한 값을 빼고 절댓값으로 변환하는 예시 코드입니다.
let numbers = [1, -2, 3, -4, 5]
let subtractedNumbers = numbers.map { abs($0 - 10) }
print(subtractedNumbers)
위 코드에서는 먼저 numbers
라는 배열을 정의하고, 맵 함수를 사용하여 각 요소에 대해 절댓값으로 변환한 값을 저장하는 subtractedNumbers
배열을 생성합니다. 맵 함수 내부에서는 $0
을 통해 배열의 각 요소에 접근하고, 해당 요소에서 10을 뺀 뒤 절댓값으로 변환합니다.
코드를 실행하면, [9, 12, 7, 14, 5]
라는 결과가 출력됩니다. 각 요소별로 10을 뺀 후 절댓값으로 변환한 값이 새로운 배열로 생성되었습니다.
만약, 이 예시 코드에서 subtractedNumbers
배열 대신 원본 배열 numbers
를 변경하고 싶을 경우, map
대신 mutatingMap
함수를 사용할 수 있습니다. mutatingMap
함수는 원본 배열을 수정할 수 있도록 해줍니다.
var numbers = [1, -2, 3, -4, 5]
numbers.mutatingMap { $0 = abs($0 - 10) }
print(numbers)
위 코드에서는 mutatingMap
함수를 사용하여 각 요소에 대해 절댓값으로 변환한 값을 저장하는 것이 아니라, 원본 배열 numbers
자체를 변경합니다. 이후, numbers
를 출력하면 [9, 12, 7, 14, 5]
라는 결과가 나옵니다.
맵 함수를 사용하면 배열의 값에 간단하게 연산을 적용하여 변환할 수 있으므로, 변환 작업을 효율적으로 수행할 수 있습니다.