第六章:函式(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講了一些具體案例。
複製程式碼