weird part 51 — functional programming
1 min readOct 5, 2018
- create New value into new Array
- bind
var arr1 = [1,2,3];function mapForEach(arr, fn){
var newArr = [];
for(var i = 0; i < arr.length; i++){
newArr.push(
fn(arr[i])//1,2,3
)
}
return newArr;
}function multiplyFn(index){
return index * 2;
}var arr2 = mapForEach(arr1, multiplyFn); var arr3 = mapForEach(arr2, function(index){
return index < 3;
});console.log('first array -', arr1)
console.log('second array -', arr2) [2,4,6]
console.log('3 array -', arr3)[true,false,false]
#bind —copy of checkLimit function and argument(2)
var checkLimit = function(limiter, value){
return value >= limiter;
//return value === limiter? 1:0;
}var arr4 = mapForEach(arr1, checkLimit.bind(this, 2));
console.log(arr4) // [true, false, false]
#simplify the function
var checkpastLimitSimplified = function(limiter){
return function(limiter, value){
return value > limiter;
}.bind(this, limiter)}var arr5 = mapForEach(arr1, checkLimitSimplified(2))
console.log(arr5)