고차함수인 'sort'와 'sorted'는 스위프트의 배열 정렬에 사용되는 함수입니다.
이 두 함수는 배열의 요소를 정렬하는데 사용되며, 요소의 순서를 기준으로 오름차순 또는 내림차순으로 정렬할수 있습니다.
sort 함수는 배열을 정렬하며, 배열 자체를 수정합니다. 즉, 원본 배열의 순서가 변경됩니다.
var numbers = [5, 2, 9, 1, 5, 6]
// 오름차순 정렬
numbers.sort()
// 내림차순 정렬
numbers.sort { $0 > $1 }
print(numbers) // 출력: [9, 6, 5, 5, 2, 1]
sorted 함수는 배열을 정렬한 새로운 배열을 반환합니다. 원본 배열은 변경되지 않습니다.
즉, 정렬 된 새로운 배열을 얻고 싶을 때 sorted 함수를 사용합니다.
let numbers = [5, 2, 9, 1, 5, 6]
// 오름차순 정렬된 새로운 배열 반환
let ascendingArray = numbers.sorted()
// 내림차순 정렬된 새로운 배열 반환
let descendingArray = numbers.sorted { $0 > $1 }
print(ascendingArray) // 출력: [1, 2, 5, 5, 6, 9]
print(descendingArray) // 출력: [9, 6, 5, 5, 2, 1]
sort 함수와 sorted 함수는 모두 배열의 요소를 정렬하는데 사용되지만, sort 함수는 원본 배열을 변경하고 sorted함수는 정렬된 새로운 배열을 반환하는 차이가 있습니다.
프로젝트에서 데이터를 서로 비교하려면 비교 기준이 있어야합니다.
Comparable 프로토콜이 필요합니다.
참고(출처) : 개발하는 정대리, 야곰(Swift5)
좋은 글 감사합니다. 자주 올게요 :)