 Reduce is both a powerful and often misunderstood function on arrays. In other functional languages, it's often called fold, or compress, or accumulate. But it's quite aptly named in JavaScript as it reduces an entire array to a single value determined by the reducer, the function it takes as an argument. The standard example is calculating the sum of an array of numbers. So let's take a closer look at how reduce and the reducer interacts. Reduce takes the first two elements in the array and uses the reducer function to reduce them to a single value. Next, the process repeats with the previously calculated value and the next value in the array. And this process keeps repeating until we are left with a single value. Reduce needs a bit of getting used to in the way it works, but once you are there, it is incredibly useful. It can be used to implement set partitioning, finding the maximum array flattening, and solve many other common problems in a very flexible way. We have one more episode left in this mini-series, and in the next one, we're going to talk about the rather new flat map. So if you find that interesting, you should subscribe so you can get notification when the new episode comes out. But until then, there is some more super charge for you to watch.