排序数组字母数字Swift3

时间:2016-10-27 03:50:28

标签: ios arrays sorting swift3

我有一个我在Xcode 8 Beta中使用的函数,它按字母顺序排序数组然后按数字排序。

我使用的功能是:

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中做到这一点?

3 个答案:

答案 0 :(得分:1)

有一个函数sort(),您可以通过该函数对此数组进行排序

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

答案 1 :(得分: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"]

这是基于Martin R和Duncan C的帖子。

谢谢! ^ _______ ^

答案 2 :(得分: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
}