Chapter 5. Programming Declaratively - A Better Style
Up to now, we haven't really been able to appreciate the possibilities of FP, as pertains to working at a higher level, declarative fashion. In this chapter, we will correct that, and start getting shorter, more concise, and easier to understand code, by using some higher-order functions (HOF: functions that take functions as parameters) such as:
.reduce()and.reduceRight()to apply an operation to a whole array reducing it to a single result.map(), to transform an array into another, by applying a function to each of its elements.forEach(), to simplify writing loops, by abstracting the necessary looping code
We'll also be able to do searches and selections with:
.filter(), to pick some elements from an array.find()and.findIndex(), to search for elements satisfying a condition- And a pair of predicates,
.every()and.some(), to check an array for some Boolean test
Using these functions lets you work more declaratively, and you'll see that...