고차함수 map
작성일
고차함수 map
// 맵 고차함수를 통해 콜렉션의 요소를 변형시킬 수 있다.
let friendsArray = ["철수", "영희", "수잔", "제임스", "마크"]
// 배열 맵핑
let myFriends = friendsArray.map{
"내친구: " + $0
}
print(myFriends)
출력
["내친구: 철수", "내친구: 영희", "내친구: 수잔", "내친구: 제임스", "내친구: 마크"]
딕셔너리 맵핑
let myPetDictionary = ["고양이": "야옹", "강아지": "멍멍", "송아지": "음메"]
let petResult = myPetDictionary.map{ (kind, sound) in
return("우리집: \(kind)", "울음소리: \(sound)")
}
print(petResult)
출력
[("우리집: 송아지", "울음소리: 음메"), ("우리집: 강아지", "울음소리: 멍멍"), ("우리집: 고양이", "울음소리: 야옹")]
셋 맵핑
let numbersSet : Set<Int> = [1,1,2,3,4,4,5]
let result = numbersSet
.map({ (number: Int) -> Int in
return number * 10
})
print("mappedNumbersSet: \(result)")
출력
mappedNumbersSet: [50, 10, 20, 40, 30]
클로저를 활용
let numbersSet : Set<Int> = [1,1,2,3,4,4,5]
let result = numbersSet
.map({ (number: Int) -> Int in
return number * 10
})
print("mappedNumbersSet: \(result)")
let resultOne = numbersSet.map({ (number: Int) in
return number * 10
})
let resultTwo = numbersSet.map({ (number: Int) in number * 10})
let resultThree = numbersSet.map({ $0 * 10 })
let resultFour = numbersSet.map{ $0 * 10 }
print("mappedNumbersSet: \(resultOne)")
print("mappedNumbersSet: \(resultTwo)")
print("mappedNumbersSet: \(resultThree)")
print("mappedNumbersSet: \(resultFour)")
출력
mappedNumbersSet: [20, 50, 10, 30, 40]
mappedNumbersSet: [20, 50, 10, 30, 40]
mappedNumbersSet: [20, 50, 10, 30, 40]
mappedNumbersSet: [20, 50, 10, 30, 40]
mappedNumbersSet: [20, 50, 10, 30, 40]
클로저를 사용해서 모양만 다를뿐 다같은 함수인걸 알 수 있다.