[swift] 고차 함수를 사용하여 배열 내에서 특정 값을 기준으로 정렬하는 방법은 어떻게 되나요?

아래는 sorted(by:) 함수를 사용하여 배열을 특정 값에 따라 정렬하는 예제입니다:

let numbers = [5, 2, 8, 1, 9, 3]
let sortedNumbers = numbers.sorted(by: { $0 < $1 })
print(sortedNumbers) // [1, 2, 3, 5, 8, 9]

위의 예제에서는 숫자 배열을 오름차순으로 정렬하였습니다. 비교 클로저 { $0 < $1 }은 첫 번째 인자 $0와 두 번째 인자 $1을 비교하여 $0$1보다 작으면 true를 반환합니다.

만약 내림차순으로 정렬하고 싶다면 비교 클로저를 { $0 > $1 }로 변경하면 됩니다:

let numbers = [5, 2, 8, 1, 9, 3]
let sortedNumbers = numbers.sorted(by: { $0 > $1 })
print(sortedNumbers) // [9, 8, 5, 3, 2, 1]

위의 예제에서는 숫자 배열을 내림차순으로 정렬하였습니다. 비교 클로저 { $0 > $1 }은 첫 번째 인자 $0와 두 번째 인자 $1을 비교하여 $0$1보다 크면 true를 반환합니다.

다른 비교 기준으로 정렬하고 싶다면 비교 클로저를 알맞게 작성하여 사용하면 됩니다.