So far, we have learned about different functions and seen some examples of them. Let's see if we can combine them to solve problems that we may encounter in our day-to-day application development.
Let's assume that we need to receive an object from a backend system as follows:
struct User { let name: String let age: Int } let users = [ User(name: "Fehiman", age: 60), User(name: "Neco", age: 29), User(name: "Grace", age: 1), User(name: "Tamina", age: 6), User(name: "Negar", age: 27) ]
Then we need to calculate the total of ages by using totalAge
in the users
array. We can use a combination of the map
and reduce
functions to calculate totalAge
as follows:
let totalAge = users.map { $0.age }.reduce(0) { $0 + $1 }
We were able to chain the map
and reduce
methods to achieve this.