So far, we learned different functions with some examples for each. 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: "Negar", age: 30), User(name: "Milo", age: 1), User(name: "Tamina", age: 6), User(name: "Neco", age: 30) ]
Then we need to calculate the total of ages 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.