Functional Programming using BIND and CLOSURES
Functional Programming using BIND and CLOSURES
by Saksham Malhotra
JavaScript
function ProcessArray(arr, callback) {
return arr.map((val, index) => callback(val))
}
var Double = (val) => {
return val * 2
}
var MultiplyByFactor = (factor, val) => {
return val * factor
}
var ModulusByFactor = (factor) => {
return function(value) {
return value % factor
}
}
var arr = [1, 2, 3, 4, 5]
console.log(ProcessArray(arr, Double))
console.log(ProcessArray(arr, MultiplyByFactor.bind(this, 3)))
console.log(ProcessArray(arr, ModulusByFactor(2)))