let numbers = [1, 2, 3, 4, 5, 6, 7, 8]
func reducedSum(sum: Int, element: Int) -> Int {
return sum + element
}
let sum = numbers.reduce(0, reducedSum)
//-> 36
let product = numbers.reduce(1) { (product: Int, element: Int)-> Int in
return product * element
}
//-> 40320
let difference = numbers.reduce(0) { $0 - $1 }
//-> -36