map,filter,reduce
by kpulkit29
JavaScript
Array.prototype.filterCustom = function(fn) {
let arr = [];
for(let i=0;i<this.length; i++) {
if(fn(this[i], i)) arr.push(this[i])
}
return arr;
}
Array.prototype.mapCustom = function(fn) {
let arr = [];
for(let i=0; i<this.length; i++) {
arr[i] = fn(this[i]);
}
return arr;
}
Array.prototype.reduceCustom = function(fn, aggr) {
let val = aggr;
for(let i=0; i<this.length; i++) {
val = fn(val, this[i]);
/* console.log(val) */;
}
return val;
}
let arr = [1,2,3,4];
console.log(arr.filterCustom(item => item>1));
console.log(arr.mapCustom(item => item*2));
console.log(arr.reduceCustom((total, item) => total*item, 1));