Swift——map函数浅析

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 。欢迎大家访问!

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...