extension Array {
func foldLeft(a:T, action:(T, T)->T)->T {
var ret:T = a
for b:T in self {
ret = action(ret,b)
}
return ret
}
}
把这个放到项目当中任何一个swift文件当中,即可全局访问。
示例:
求最小值
var t = [1,3,5,4,9,100,6,-2]
let b = t.foldLeft(t[0], action: {a,b in if a<b {return a} else {return b}})
输出 -2
求和
let c = t.foldLeft(0, action: {$0+$1})
输入: 126
转载于:https://blog.51cto.com/kongyang/1537247