weird part 51 — functional programming

blossom0417
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)

--

--

No responses yet