15.高次関数
高次関数
別の関数を、伝達パラメータまたは関数の実行結果を返す関数として受信します.
map
let numbers = [0,1,2,3]
let mapArray = numbers.map { (number) -> Int in
return number * 2
}
print("map \(mapArray)")
// "map [0,2,4,6]"
filter
let ints = [10,5,20,13,4]
let filterArray = ints.filter { $0 > 5 }
print("filter \(filterArray)")
// "filter [10,20,13]"
reduce
let nums = [1,2,3,4,5]
let reduceResult = numbs.reduce(7) {
(result: Int, element: Int) -> Int in
print("\(result) + \(element)")
return result + element
}
print("reduce \(reduceResult)")
// "7 + 1"
// "8 + 2"
// "10 + 3"
// "13 + 4"
// "17 + 5"
// "reduce 22"
Reference
この問題について(15.高次関数), 我々は、より多くの情報をここで見つけました https://velog.io/@lattepapa/15.-고차함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol