Swift--map函数浅析

原文网址:http://www.2cto.com/kf/201510/447853.html

Swift语言的数组提供了一个map函数很好用,可建立一个a数组的映射数组b,即数学上的y = f(x).

我为大家用代码来实现一下:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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函数的作用不限于此,不仅传递一个函数作为参数,还可以传递一个闭包表达式,代码如下:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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))
 
 
//这是采用闭包的方式
//map函数里面可以直接使用闭包表达式作为参数;
//$0表示的是第一个参数,也就是arr中的每一个值;
var arr3 = arr.map({$ 0 + 10 })
print(arr3 = (arr3))

输出结果如下:

 

\

 

输出结果分析:使用闭包比传递一个参数方便、简洁。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值