Chaining higher-order functions

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.

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

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