Swift语言的数组提供了一个map函数很好用,可建立一个a数组的映射数组b,即数学上的y = f(x).
我为大家用代码来实现一下:
import Foundation //定义数组; var arr = [1,2,3,4,5] //需要对数组中的每一个值+10操作; func fmap(a : Int) -> Int{ return a + 10 } //这是采用函数的方式 //map函数里面可以直接使用函数作为参数; var arr2 = arr.map(fmap) print("arr = \(arr)") print("arr2 = \(arr2)")
输出结果如下:
。
输出结果分析:可以看到,我们对数组中的每一个元素都执行了+10操作,我们并没有进行遍历,然后再赋值给另一个新数组,可见使用map函数十分的方便。
当然map函数的作用不限于此,不仅传递一个函数作为参数,还可以传递一个闭包表达式,代码如下:
import Foundation //定义数组; var arr = [1,5] //需要对数组中的每一个值+10操作; func fmap(a : Int) -> Int{ return a + 10 } //这是采用函数的方式 //map函数里面可以直接使用函数作为参数; var arr2 = arr.map(fmap) print("arr = \(arr)") print("arr2 = \(arr2)") //这是采用闭包的方式 //map函数里面可以直接使用闭包表达式作为参数; //$0表示的是第一个参数,也就是arr中的每一个值; var arr3 = arr.map({$0+10}) print("arr3 = \(arr3)")
输出结果如下:
。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。