다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수
let numbers = [0,1,2,3]
let mapArray = numbers.map { (number) -> Int in
return number * 2
}
print("map \(mapArray)")
// "map [0,2,4,6]"
let ints = [10,5,20,13,4]
let filterArray = ints.filter { $0 > 5 }
print("filter \(filterArray)")
// "filter [10,20,13]"
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"