第六章:函数(function)
6.1 函数的灵活性(The flexibility of function)
注:本节前部分主要通过一个排序的demo来介绍了函数的灵活性
话不多说,直接上代码
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)
复制代码
注: String的lexicographicallyPrecedes
方法在项目中挺实用的,像比较时间字符串"2018-08-08" 和 "2018-03-04" 的时间先后就可以用这个方法。
函数作为数据
本节主要是通过几个排序的demo讲了一些具体案例。
复制代码