Programming Declaratively – A Better Style
Up to now, we haven’t really been able to appreciate the possibilities of functional programming (FP) as it pertains to working in a higher-level, declarative fashion. In this chapter, we will correct this and start producing shorter, more concise, and easier-to-understand code, by using some higher-order functions (HOFs) —that is, functions that take functions as parameters, such as the following:
reduce()
andreduceRight()
to apply an operation to a whole array, reducing it to a single resultmap()
to transform one array into another by applying a function to each of its elementsflat()
to make a single array out of an array of arraysflatMap()
to mix together mapping and flatteningforEach()
to simplify writing loops by abstracting the necessary looping code
We’ll also be able to perform searches and selections with the following:
filter()
to pick some elements from an array...