Array map(), filter() & reduce() Polyfill
Array.map() Polyfill
const array = [1,2,3,4,5];
Array.prototype.myMap = function(callback) {
let result = [];
for (let i = 0; i < this.length; i++) {
result.push(callback(this[i], i, this));
}
return result;
}
let answer1 = array.map((element) => element * 2);
console.log("R1:", answer1);
let answer2 = array.map((element) => element * 2);
console.log("R2:", answer2);
Array.reduce() Polyfill
const array = [1,2,3,4];
Array.prototype.myReduce = function(callback, initial) {
let accumulator = initial;
for (let i = 0; i < this.length; i++) {
if (accumulator) {
if (accumulator !== undefined) {
accumulator = callback(accumulator, this[i], i, this);
}
} else {
accumulator = this[0];
}
}
return accumulator;
}
const result1 = array.reduce(
(accu, curr) => accu + curr
, 0);
console.log("R1:", result1);
const result2 = array.myReduce((accu, curr) => accu + curr);
console.log("R2:", result2);