Collection 합치기, 변형, zip, allSatisfy
Updated:
🔷 Collection 합치기
let myFriends = ["Jacob", "Emma", "Jason"]
let otherFriends = ["Mike", "Luck", "Paul"]
// + 더하기를 통해 collection 을 합칠 수 있습니다
let totalFriends = myFriends + otherFriends
print(totalFriends) // ["Jacob", "Emma", "Jason", "Mike", "Luck", "Paul"]
🔷 Collection 변형
let numbers = [1, 1, 1, 5, 5, 9, 7]
// collection 간 변형을 통해
// 유일한 값을 가지는 배열로 변환이 가능합니다
// Array -> Set
let numberSet = Set(numbers)
// Set -> Array
var uniqueNumbers = Array(numberSet)
// 정렬이 되어야 하면 한번 정렬해주기
uniqueNumbers.sort()
print(uniqueNumbers) // [1, 5, 7, 9]
🔷 Collection Zip()
두개의 collection 을 zip 을 이용해서 쌍으로 묶을 수 있습니다
let friends = ["Jacob", "Emma", "Mike"]
let pets = ["코코", "나비", "똘이"]
let zipped = zip(friends, pets)
for item in zipped {
print("\(item.0) : \(item.1)")
/*
Jacob : 코코
Emma : 나비
Mike : 똘이
*/
}
let zippedArray = Array(zip(friends, pets))
print(zippedArray) // [("Jacob", "코코"), ("Emma", "나비"), ("Mike", "똘이")]
🔷 allSatisfy()
allSatisfy 를 통해서 collection 안 요소들이 모두 같은 조건에 부합하는지 확인이 가능합니다
let names = ["Jacob", "Emma", "John"]
var nameCountAtLeastTFive = names.allSatisfy { (name: String) -> Bool in
name.count <= 5
}
print("nameCountAtLeastTwo: ", nameCountAtLeastTFive)
// nameCountAtLeastTwo: true
let names2 = ["제시", "제임스", "맥"]
nameCountAtLeastTFive = names2.allSatisfy({ $0.count <= 2 })
print("nameCountAtLeastTwo: ", nameCountAtLeastTFive)
// nameCountAtLeastTwo: false
Reference
Swift Tip of the day - 스위프트 기초 문법 - https://spangle-wedelia-2dc.notion.site/Swift-Tip-of-the-day-c428bfd990674bcfa2a4973e5d08c4eb
꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233
Leave a comment