Week 07 and Week 08
Functional Programming
Functions as Parameters
Array filter - Array map - Array reduce
Functional Programming
Functional Programming /ˈfəNG(k)SH(ə)n(ə)l/ /ˈprōˌɡramiNG/ noun
Pure Function /pyo͝or/ /ˈfəNG(k)SH(ə)n/ noun
Idempotent Function /ˌīdemˈpōt(ə)nt/ /ˈfəNG(k)SH(ə)n/ noun
Functional Programming
Functional Programming
Functional Programming - Check In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function trimLeft(str) {
let arr = str.split('')
let i = 0
while (arr[i] === ' ') {
arr.shift()
i++
}
return arr.join('')
}
Array.filter( () => {} )
New Arrays by Filtering Other Arrays
Functional Programming
Functional Programming
Functional Programming
Functional Programming
Filter with Array.filter()
Filter with Array.filter()
Filter with Array.filter()
Functional Programming
Functional Programming
Check In
1
2
3
4
5
6
7
8
9
function isNumeric(n) {
return !isNaN(n)
}
const values = [1, '2', 'a', NaN, null]
const retVal = values.filter(isNumeric)
Array `map`
Mapping Over an Array
Array.map( () => {} )
Array.map( () => {} )
Array.map( () => {} )
Array.map( () => {} )
Array.map( () => {} )
Array.map( () => {} )
Array.map( () => {} )
Array.map( () => {} )
Array.map( () => {} )
Check In
1
2
3
4
5
6
7
8
9
function halve(n) {
return n / 1
}
const values = [2, 4, 6, 8]
const retVal = values.map(halve)
Hands On
Calculating the subtotal of each item. This exercise will be completed in class.
Array.reduce( () => {} )
A Single Value from an Array
Array.reduce( () => {} )
Array.reduce( () => {} )
Array.reduce( () => {} )
Array.reduce( () => {} )
Array.reduce( () => {} )
Array.reduce( () => {} )
Check In
Chaining
Less Array Code with Chaining
Less Code by Chaining
Less Code by Chaining
Less Code by Chaining
Less Code by Chaining
Less Code by Chaining
Less Code by Chaining
Less Code by Chaining
Less Code by Chaining
Less Code by Chaining
Hands On
Calculating the class average by assignment. This exercise will be completed in class.
Homework
Using functional programming create a lineup validation function
Resources
Vocabulary
Vocabulary
Vocabulary