1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| function mapForEach(arr, fn) {
var newArr = []; for (var i=0; i < arr.length; i++) { newArr.push( fn(arr[i]) ) };
return newArr; }
var arr1 = [1,2,3]; console.log(arr1);
var arr2 = mapForEach(arr1, function(item) { return item * 2; }); console.log(arr2);
var arr3 = mapForEach(arr1, function(item) { return item > 2; }); console.log(arr3);
var checkPastLimit = function(limiter, item) { return item > limiter; } var arr4 = mapForEach(arr1, checkPastLimit.bind(this, 1)); console.log(arr4);
var checkPastLimitSimplified = function(limiter) { return function(limiter, item) { return item > limiter; }.bind(this, limiter); };
var arr5 = mapForEach(arr1, checkPastLimitSimplified(1)); console.log(arr5);
|