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: +)

你可能感兴趣的:(Swift2.0:map、filter、reduce、dropLast数组操作函数的使用)