我们先来定义一个常量整型数组

let array = [5, 4, 3, 1, 2]

过滤器(filter)使用之筛选出大于3的值

let resultArray = array.filter { (item) -> Bool in
    return item > 3
 }
print(resultArray) // [5, 4]

简化可以这样写

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]

简化可以这样写

let resultArray = array.filter { return $0%2 == 0 }
print(resultArray) // [4, 2]

总结

  • 1、过滤器(filter)使用并不复杂,很好掌握。
  • 2、过滤器(filter)不局限于以上的使用,望能举一反三。
  • 3、过滤器(filter)需要定义一个变量(或常量)去接收过滤后的结果。
  • 4、以上例子往往是通过for来遍历数组去实现的,有了过滤器(filter)可以更简单的实现,也使代码更整洁,建议合理使用过滤器(filter)。

本文由 Harvey 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论