这篇文章给大家介绍swift中有哪些高阶函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
let arr = [1,2,3,4]
//map
let mapRet = arr.map{ $0 * 2 }
print(mapRet)
//[2, 4, 6, 8]
//filter
let filterRet = arr.filter{ $0 % 2 == 0 }
print(filterRet)
//[2, 4]
let reduceRet = arr.reduce(10, +)
print(reduceRet)
//20
let reduceRetTwo = arr.reduce(10, -)
print(reduceRetTwo)
//0
使用映射函数映射每个元素,然后将结果压缩成一个新数组
//flatMap
let results = [[1,2,3], [3,4,5]]
let allResults = results.flatMap{ $0.map{ $0 * $0 } }
print(allResults)
//[1, 4, 9, 9, 16, 25]
//compactMap:过滤空值
let keys: [String?] = ["zhang san", nil, "li si", nil]
let validNames = keys.compactMap{ $0 }
print(validNames)
//["zhang san", "li si"]
let keyCount = keys.compactMap{ $0?.count }
print(keyCount)
//[9, 5]
关于swift中有哪些高阶函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/artwl/blog/5016647