Swift中的类似scala的foldleft方法的实现

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

输出 -2

求和

let c = t.foldLeft(0, action: {$0+$1})

输入: 126


文章题目:Swift中的类似scala的foldleft方法的实现
文章分享:http://ybzwz.com/article/jogsgc.html