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

The reduce function

The reduce function reduces a list into a single value. Often referred to as fold or aggregate, it takes two parameters: a starting value and a function.

A function takes a running total and an element of the list as parameters and returns a value that is created by combining the elements in the list.

Unlike map, filter, and flatMap, which would return the same type, reduce changes the type. In other words, map, filter, and flatMap would take an array and provide a changed array. This is not the case with reduce as it can change an array to, for instance, a tuple or single value.

Swift provides the reduce method on sequences and has the following definition:

 public func reduce<Result>(_ initialResult: Result, _ nextPartialResult: ...

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