Chaining higher-order functions

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset