DEV Community

ZeeshanAli-0704
ZeeshanAli-0704

Posted on • Updated on

PollyFill

// Import stylesheets
import './style.css';

// Write Javascript code!
const appDiv = document.getElementById('app');
appDiv.innerHTML = `<h1>JS Starter</h1>`;

const array = [1, 2, 3, 4, 5, 6, 7, 8, 9];

// map and it's polyfills!
const newArray = array.map((item, index, arr) => {
  return item * 2;
});

Array.prototype.myMap = function (cb) {
  let newArr = [];
  for (let i = 0; i < this.length; i++) {
    newArr.push(cb(this[i], i, this));
  }
  return newArr;
};
const newArray2 = array.myMap((item, index, arr) => {
  return item * 3;
});
console.log(newArray);
console.log(newArray2);

// filter and it's polyfills!
const newFArray = array.filter((item, index, arr) => {
  return item > 5;
});

Array.prototype.myFilter = function (cb) {
  let tempArr = [];
  for (let i = 0; i < this.length; i++) {
    if (cb(this[i], i, this)) {
      tempArr.push(this[i]);
    }
  }
  return tempArr;
};
const newFArray2 = array.myFilter((item, index, arr) => {
  return item > 3;
});
console.log(newFArray);
console.log(newFArray2);

// reduce and it's polyfills!
const newRArray = array.reduce((acc, item, index, arr) => {
  return acc + item;
}, 0);

Array.prototype.myReduce = function (cb, intialValue) {
  var acc = intialValue;
  for (let i = 0; i < this.length; i++) {
    acc = acc ? cb(acc, this[i], i, this) : this[i];
  }
  return acc;
};
const newRArray2 = array.myReduce((acc, item, index, arr) => {
  return acc + item;
}, 0);
console.log(newRArray);
console.log("MyReduce:",newRArray2);

Enter fullscreen mode Exit fullscreen mode

Top comments (0)