我們先來定義一個(gè)常量整型數(shù)組
let array = [5, 4, 3, 1, 2]
過濾器(filter)使用之篩選出大于3的值
let resultArray = array.filter { (item) -> Bool in
return item > 3
}
print(resultArray) // [5, 4]
簡(jiǎn)化可以這樣寫
let resultArray = array.filter {
return $0 > 3
}
閉包中的‘return’是可以省略的
過濾器(filter)使用之篩選出能被2整除的值
let resultArray = array.filter { (item) -> Bool in
return item%2 == 0
}
print(resultArray) // [4, 2]
簡(jiǎn)化可以這樣寫
let resultArray = array.filter { return $0%2 == 0 }
print(resultArray) // [4, 2]
總結(jié)
- 1、過濾器(filter)使用并不復(fù)雜,很好掌握。
- 2、過濾器(filter)不局限于以上的使用,望能舉一反三。
- 3、過濾器(filter)需要定義一個(gè)變量(或常量)去接收過濾后的結(jié)果。
- 4、以上例子往往是通過for來遍歷數(shù)組去實(shí)現(xiàn)的,有了過濾器(filter)可以更簡(jiǎn)單的實(shí)現(xiàn),也使代碼更整潔,建議合理使用過濾器(filter)。