25 如何使用Swift中的高阶函数

简介: 如何使用Swift中的高阶函数

高阶函数


map

  • 对于原始集合里的每一个元素,以一个变换后的元素替换之形成一个新的集合


image.png

filter

  • 对于原始集合里的每一个元素,通过判定来将其丢弃或者放进新集合


image.png

reduce

  • 对于原始集合里的每一个元素,作用于当前累计的结果上


image.png

flatMap

  • 对于元素是集合的集合, 可以得到单级的集合


image.png

compactMap

  • 过滤空值


image.png

letnumbers= [1, 2, 4, 5, 10]
print(numbers.map{ $0*10 })
//[10, 20, 40, 50, 100]print(numbers.filter { $0>4})
//[5, 10]print(numbers.reduce(100) { $0+$1})
//122


目录
相关文章
|
Android开发 iOS开发 MacOS
APP备案公钥、证书MD5指纹/签名MD5值获取最简单方法
APP备案公钥、证书MD5指纹/签名MD5值获取方法,Android安卓平台、Windows平台、macOS平台,三个平台获取方法, Android平台使用 APP备案助手,各大安卓应用市场搜索 APP备案助手 即可,Windows/macOS平台使用jadx-gui工具。
7370 2
|
11月前
|
UED 开发者
鸿蒙next版开发:ArkTS组件通用属性(多态样式)
在HarmonyOS 5.0中,ArkTS的多态样式(stateStyles)功能允许开发者根据不同状态(如正常、按压、禁用、聚焦、选中等)为组件设置不同的样式,从而提供更丰富的用户体验。通过stateStyles属性,可以动态改变组件样式,提升用户交互的直观性和界面美观性。示例代码展示了如何为文本组件设置正常和按压状态的样式。
586 1
|
Java
Elasticsearch Bucket聚合(桶聚合) 第一篇(常用桶聚合一览)
本篇将开始介绍Elasticsearch Bucket聚合(桶聚合)。 Buket Aggregations(桶聚合)不像metrics Aggregations(度量聚合)那样计算字段上的度量,而是创建文档桶,每个文件桶有效地定义一个文档集。
3116 0
|
Perl
awk循环处理
awk循环处理
270 8
|
前端开发 JavaScript
关于QQ如何向他人发送文件夹的解决方案
关于QQ如何向他人发送文件夹的解决方案
248 0
|
人工智能 自然语言处理 自动驾驶
破壁人AI百度:科技公司反内卷的典型样本
互联网整个行业都在陷入被动且尴尬的局面。去年开始流行的“内卷”一词,恰如其分的描述了互联网的现状,比如抖音开始做外卖,微信强推视频号,一直硝烟弥漫的电商市场,更是激战在社区团购上。内卷背后也有人感慨,互联网到了尽头。支撑这一论述的是,移动互联网的人口红利已经消失,几款国民型APP用户增长都固定在了10亿这个级别,只能依靠自然人口的增长和迁移。
|
网络协议 安全 数据安全/隐私保护
NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例
NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例。
4813 0
NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例
|
Java Apache
Dubbo-admin+Zookeeper 的环境搭建实操与 Could-not-extract-archive 报错踩坑
``` $ brew install zookeeper ==> Downloading https://homebrew.bintray.com/bottles/zookeeper-3.4.13.mojave.bottle.tar.gz ... ``` 先来看dubbo-admin的安装;我们先找到它在apache下的官方GitHub,官方也有相关介绍,中英文版都有(毕竟原本
|
Java 索引
JavaSE(基础篇)——数组(一)
JavaSE(基础篇)——数组(一)
139 0
JavaSE(基础篇)——数组(一)