var values =[1,2,3]
values = values.map({ element in
element +10})print(values)//[11, 12, 13]
计算每一个元素的count
let strings =["one","two","three"]let count = strings.map({ element in
element.count
})print(count)//[3, 3, 5]
对元素进行大小写变换
var words =["C","D","F","A"]
words = words.map({ element in//小写
element.lowercased()})print(words)//["c", "d", "f", "a"]
words = words.map({ element in//大写
element.uppercased()})print(words)//["C", "D", "F", "A"]
let varietyTypeArr =["str","4","8","str2"]let strArr = varietyTypeArr.flatMap { element inreturnInt(element)}print(strArr)//[4, 8]//注意 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional valuelet compactMapArr = varietyTypeArr.compactMap { element inreturnInt(element)}print(compactMapArr)//[4, 8]
let values =[1,10,12,5,7,-5]let ret2 = values.filter({$0>0})print(ret2)//[1, 10, 12, 5, 7]
组合判断,挑选出大于0的元素,并排序
let ret3 = values.filter({$0>0}).sorted(by:>)print(ret3)//[12, 10, 7, 5, 1]
reduce函数
拼接元素
let strs =["one","two","three"]let ret = strs.reduce("to"){(result, element)->Stringin//拼接到前边// return result + element//拼接到后边return element + result
}print(ret)//toonetwothree threetwooneto
计算元素字符个数
let count = strs.reduce(0){ partialResult, element inreturn partialResult + element.count
}print(count)//11//计算字符串中相同字符的个数let letters ="aabbbccccddddddeeed"let letterCount = letters.reduce(into:[:]){ counts, letter in
counts[letter,default:0]+=1}print(letterCount)//["a": 2, "c": 4, "d": 7, "e": 3, "b": 3]
求和
let values =[1,10,12,5,7,-5]let sums = values.reduce(0,+)print(sums)//30