var arr1 = [1, 2, 3];
console.log(arr1);
var arr2 = [];
for(int i = 0; i < arr1.length; i++){
arr2.push(arr1[i] * 2);
}
console.log(arr2);
//function programming
function mapForEach(arr, fn) {
var arr2 = [];
for(int i = 0; i < arr1.length; i++){
arr2.push(
fn([arr[i]]);
);
}
return arr2;
}
var arr2 = mapForEach(arr, function(item){
return item * 2;
});
//印出[2, 4, 6]
console.log(arr2);
var arr3 = mapForEach(arr, function(item){
return item > 2;
});
//印出[FALSE, FALSE, TRUE]
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(2));
console.log(arr5);