2016-10-27 3 views
0

У меня есть функция, которую я использовал в Xcode 8 Beta, которая отсортировала массив по алфавиту, а затем численно.Сортировка массива Alphanumerically Swift3

Функция я использовал:

func sortArray(arrayToSort: [String])->[String]{ 

let sortedArray = arrayToSort.sorted { 
(first, second) in 
first.compare(second, options: .numericSearch) == ComparisonResult.orderedAscending 
} 
    print(sortedArray) 
    return sortedArray 
} 

Однако это не работает больше. Кто-нибудь знал, как я могу это сделать в Swift 3?

ответ

1

Существует функция sort(), через который вы можете отсортировать массив как этот

var arrSort = ["Rajat", "Test", "Sort", "Array","2","6"] 
arrSort.sort() 
print(arrSort) 
1

После некоторого дальнейшего копания я нашел ответ:

let myArray = ["Step 6", "Step 12", "Step 10"] 

let sortedArray = myArray.sorted { 
$0.compare($1, options: .numeric) == .orderedAscending 
} 

print(sortedArray) // ["Step 6", "Step 10", "Step 12"] 

Это была основана на Мартина R, и Дункан C.

Спасибо!^_______^

0

Вы можете попробовать этот пример, как показано ниже:

func sortArray(arrayToSort: [String])->[String] { 
    let sortedArray = arrayToSort.sorted(by:) { 
    (first, second) in 
    first.compare(second, options: .numeric) == ComparisonResult.orderedAscending 
    } 
    print(sortedArray) 
    return sortedArray 
}