[swift] 맵 함수의 사용법과 문법
맵 함수는 Swift에서 제공하는 고차 함수 중 하나로, 배열이나 컬렉션의 각 요소에 동일한 연산을 적용하여 새로운 배열을 반환하는 기능을 수행합니다. 이를 통해 간단하게 배열의 각 요소를 변형하고 새로운 배열을 생성할 수 있습니다.
문법
맵 함수의 문법은 다음과 같습니다.
let newArray = array.map({ (element) -> T in
// 변환이 필요한 연산 수행
return transformedElement
})
array
는 변환이 필요한 배열이나 컬렉션을 의미합니다.element
는 변환이 필요한 배열의 각 요소를 나타내는 변수입니다.T
는 변환하여 반환할 요소의 자료형을 의미합니다.transformedElement
는element
를 변환한 결과입니다.
예제
다음은 간단한 예제입니다. 정수로 이루어진 배열의 각 요소를 제곱하여 새로운 배열을 생성하는 예제입니다.
let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map({ (number) -> Int in
return number * number
})
print(squaredNumbers) // [1, 4, 9, 16, 25]
활용 예제
맵 함수는 데이터 변환이 필요한 상황에서 유용하게 사용될 수 있습니다. 아래는 몇 가지 활용 예제입니다.
문자열을 정수로 변환하기
let stringNumbers = ["1", "2", "3", "4", "5"]
let intNumbers = stringNumbers.map({ (stringNumber) -> Int in
return Int(stringNumber) ?? 0
})
print(intNumbers) // [1, 2, 3, 4, 5]
소수점 자리수 제한하기
let PI = [3.141592, 2.71828, 1.41421356]
let roundedPI = PI.map({ (number) -> Double in
return round(number * 100) / 100
})
print(roundedPI) // [3.14, 2.72, 1.41]
객체 리스트에서 특정 속성 추출하기
struct Person {
let name: String
let age: Int
}
let people = [
Person(name: "John", age: 25),
Person(name: "Jane", age: 30),
Person(name: "Mike", age: 35)
]
let names = people.map({ (person) -> String in
return person.name
})
print(names) // ["John", "Jane", "Mike"]