[swift] 클로저를 사용하여 배열에 존재하는 중복 원소를 제거하는 방법은 무엇인가요?
- 첫 번째 방법은 중복을 제거하는 클로저를 직접 작성하여
reduce
메서드를 사용하는 것입니다. 예시 코드는 아래와 같습니다.
let array = [1, 2, 2, 3, 4, 5, 5, 6]
let uniqueArray = array.reduce(into: []) { (result, element) in
if !result.contains(element) {
result.append(element)
}
}
print(uniqueArray) // [1, 2, 3, 4, 5, 6]
- 두 번째 방법은
Set
을 이용하여 중복을 제거하는 것입니다. 이 방법은 배열 순서를 유지하지 않습니다.
let array = [1, 2, 2, 3, 4, 5, 5, 6]
let uniqueArray = Array(Set(array)) // [1, 2, 3, 4, 5, 6]
두 가지 방법 중에서 상황에 맞게 더 적합한 방법을 선택하여 사용하시면 됩니다.