//初始数组
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: +)
网友评论