话不多说,直接上代码
var mArray = [3, 1, 2]
mArray.sort() ///1 2 3
mArray.sort(by: >) ///3 2 1
let animal = ["fish", "dog", "elephant"]
// 反向比较字符串的大小 我们可以嵌套任意的比较函数 让排序功能更强大!
let okAnimal = animal.sorted { (lhs, rhs) -> Bool in
let l = lhs.reversed()
let r = rhs.reversed()
/// ⭐️核心方法⭐️ 按顺序比较两个字符串的大小 abc > abb 返回值是一个Bool
return l.lexicographicallyPrecedes(r)
}
print(okAnimal) //["dog", "fish", "elephant"]
注: String的lexicographicallyPrecedes
方法在项目中挺实用的,是swift标准库自带方法
,像比较时间字符串"2018-08-08" 和 "2018-03-04" 的时间先后就可以用这个方法。
本节主要是通过几个排序的demo讲了一些具体案例。