Transformations
The first set of operations that we are going to consider works on an array and processes it in the base of a function to produce certain results. There are several possible results: a single value with the reduce()
operation, a new array with map()
, or just about any kind of result with forEach()
.
Caring about inefficiency
If you google around, you will find some articles declaring that these functions are inefficient because a loop done by hand can be faster. This, while possibly true, is practically irrelevant. Unless your code really suffers from speed problems and you can determine that the slowness derives from using these HOFs, trying to avoid them using longer code, with a higher probability of bugs, simply doesn’t make much sense.
Let’s start by considering the preceding list of functions in order, beginning with the most general of all, which, as we’ll see, can even be used to emulate the rest of the transformations in this chapter...