Summary
In this chapter, we have started working with higher-order functions, so as to show a more declarative way of working, with shorter, more expressive code. We have gone over several operations: we have seen .reduce() and .reduceRight(), to get a single result from an array; .map(), to apply a function to each element of an array; .forEach(), to simplify looping; .filter(), to pick elements from an array; .find() and .findIndex(), to search in an array, and .every() and .some(), to verify general logic conditions.
In Chapter 6, Producing Functions - Higher-Order Functions, we will continue working with higher order functions, but we will then turn to writing our own ones, to gain more expressive power for our coding.