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...