前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >26.Swift学习之闭包在集合中的运用

26.Swift学习之闭包在集合中的运用

作者头像
YungFan
发布2018-12-19 18:06:13
8840
发布2018-12-19 18:06:13
举报
文章被收录于专栏:学海无涯

闭包是Swift中一个重要的知识点,不仅在开发中能够帮助解决很多问题(如逆向传值),而且在许多官方系统库方法中都能看到它的身影,尤其是在集合中提供了很多函数来对元素进行访问及操作,这些函数大量使用了闭包。重点需要掌握的函数有: sort、forEach、filter、map、reduce。

准备一个数组
代码语言:javascript
复制
//准备一个数组
var array:[String] = ["Animal", "Baby", "Apple", "Google", "Aunt"];
1. sort排序
代码语言:javascript
复制
//这种默认是升序
array.sorted()
//如果要降序
array.sort { (str1, str2) -> Bool in
    return str1 > str2
}
2. forEach遍历
代码语言:javascript
复制
array.forEach( {str in   
    print(str)
    
});
3. filter筛选
代码语言:javascript
复制
array.filter { (str) -> Bool in 
     //筛选里面的闭包必须是返回Bool类型的闭包
     str.hasPrefix("A")  
    }.forEach({     
        a in print(a)      
})
4. map变换
代码语言:javascript
复制
//闭包返回一个变换后的元素,接着将所有这些变换后的元素组成一个新的数组
array.map({ (str) -> String in    
    "Hello " + str    
}).forEach({   
    str in print(str)
})
5. reduce合规
代码语言:javascript
复制
//map和filter方法都是通过一个已存在的数组,生成一个新的、经过修改的数组。然而有时候我们需要把所有元素的值合并成一个新的值
var sum:[Int] = [11, 22, 33, 44];
//reduce 函数第一个参数是返回值的初始化值
var total = sum.reduce(0) { (num1, num2) -> Int in
    return num1 + num2
}
print(total)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.11.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备一个数组
  • 1. sort排序
  • 2. forEach遍历
  • 3. filter筛选
  • 4. map变换
  • 5. reduce合规
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档