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

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 }
print(resultArray) // [5, 4]

闭包中的‘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)。

更多更详细教程请访问个人站点: 码出一个长城

最新文章

  1. 前馈网络求导概论(一)·Softmax篇
  2. Uva 2034
  3. Oracle数据库十大常见性能问题
  4. MVP Community Camp 社区大课堂
  5. Oracle 课程八之性能优化之10053事件
  6. Android多媒体-人脸识别
  7. 《ACM国际大学生程序设计竞赛题解I》——6.8
  8. php中cookie实现二级域名可访问操作的方法
  9. 设计模式之 - 策略模式(Strategy Pattern)
  10. Netty 拆包粘包和服务启动流程分析
  11. python orm框架
  12. SpringMVC 数组类型的参数: Cannot generate variable name for non-typed Collection parameter type
  13. 随着应用对事务完整性和并发性要求的不断提高,MySQL才开始开发基于事务的存储引擎
  14. Dos命令大全(1)
  15. HAproxy目录分发
  16. codeforces 354 D. Transferring Pyramid
  17. response.setContentType 与response.setCharacterEncoding
  18. Sublime 必知必会(持续更新)
  19. org.apache.poi版本问题
  20. ExtJS小技巧

热门文章

  1. 吴裕雄--天生自然 R语言开发学习:回归
  2. JavaScript if为true的情况
  3. 杂记:OSX下编译安装最新版RedisDesktopMmanager
  4. RocketMQ 单机版安装并测试
  5. flutter 白板工具Twitter IconFacebook Icon
  6. 一月七笔千万美元投资!国内VR行业在刮什么风?
  7. Java设计模式(二十一):职责链模式
  8. 阿里云https免费证书配置-包教会
  9. tomcat服务器和http协议笔试题
  10. 2,Java中的数据结构