Swift2.0:map、filter、reduce、dropLast数组操作函数的使用

//初始数组

letxidaArray = [10,20,30,40]

//map用于将每个数组元素通过某个方法进行转换。

//func map (transform: (T) -> U) -> U[]这个方法以一个命名函数transform作为参数,transform负责把元素类型T转成类型U并返回一个类型U的数组。

//如下函数将原始数组Int类型变为String并且在每个数字后面添加了后缀:xidaMM

//[10,20,30,40] - > ["10:xidaMM","20:xidaMM","30:xidaMM","40:xidaMM"]

letarrMap1 =xidaArray.map({"\($0):xidaMM"})

letarrMap2 =xidaArray.map{ (a:Int) ->Stringin

return"\(a):xidaMM"

}

//filter用于选择数组元素中满足某种条件的元素

//filter(includeElement: (T) -> Bool) -> T[]以返回true或false的函数includeElement作为参数,对原数组元素调用includeElement时,只有返回true的元素会通过筛选

//将数组中大于10的元素筛选出来

//[10,20,30,40] - > [20,30,40]

letarrFilter1 =xidaArray.filter({$0>10})

letarrFilter2 =xidaArray.filter{ (a:Int) ->Boolin

returna>10

}

//reduce方法把数组元素组合计算为一个值。

//reduce(initial: U, combine: (U, T) -> U) -> U接收两个参数,一个为类型U的初始值,另一个为把类型为U的元素和类型为T的元素组合成一个类型为U的值的函数。最终结果整个数组就变成了一个类型为U的值。

//数组中的数字都加起来的和:

letsum1 =xidaArray.reduce(0,combine: {$0 + $1})

letsum2 =xidaArray.reduce(0,combine: +)

//数组中去掉最后一个对象的和:

letfinalArr =xidaArray.dropLast().reduce(0, combine: +)

推荐阅读更多精彩内容

  • WHAT Map,Filter,Reduce是什么? Swift的标准数组支持三个高阶函数:map,filter和...
    devlcd阅读 8,790评论 2 12
  • 数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的形式来表示Java中的数组形式 T[]。 v...
    时待吾阅读 792评论 0 0
  • 北京,一个魔幻的城市,因为离开了会想,待久了又会觉得喧嚣! 而当我们在这个纷乱,节奏感强,的大都市里已经忘了,自己...
    觉馨之影阅读 449评论 1 0
  • 第五课作业: 1.读熟《声律启蒙》卷一“一东”、”二冬“部分的第一段后闭卷填空,填完后再对照原文修改。(要有闭卷填...
    夜光於菟阅读 189评论 1 0
  • 困扰来源:@不忘初心困扰:1.家里好乱,想整理,但又静不下心来;2.整理好了过不久又打回原形,精力有限,不想收拾了...
    秋燕整理阅读 301评论 2 2
  • " 女汉子"一词不知什么时候成了流行词,总有人用例子来告诉你,女生!你不努力下场有多可怕!也正因为这样的社会氛...
    瓷玖阅读 1,195评论 0 0