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

Categories:

Updated:

Leave a comment