O'Reilly logo

Swift Functional Programming - Second Edition by Dr. Fatih Nayebi

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required