JSFiddle - React, Tailwind, and code Playground

by vaheed akhtar

JavaScript

let nums = [1,2,3,4,5,6,7];

Array.prototype.myFilter = function(func) {
  let filtered = [];
  for(let i=0; i<this.length; i++) {
    if(func(this[i], i, this)) {
      filtered.push(this[i])
    }
  }
  return filtered;
}

let res = nums.myFilter(n=> n >= 4);
//console.log(res);
Array.prototype.myMap = function(func) {
  let filtered = [];
  for(let i=0; i<this.length; i++) {
    filtered.push(func(this[i], i, this));
  }
  
  return filtered;
}
let mapped = nums.myMap(num=> num * 5);
//console.log(mapped);

Array.prototype.myReduce = function(func) {
 let result = 0;
 for(let i=0; i<this.length; i++) {
  func(result +=this[i]);
 }
 return result;
}

let sum = nums.myReduce((acc, val) => acc + val);
//console.log(sum);



let matrix = [[1,2,3],[4,5,6],[7,8,9]];

function rotateMatrix(matrix) {
  let n = matrix.length;
  for(let i = 0; i<n/2; i++) {
    for(let j = i; j<n-i-1; j++) {
      let tmp = matrix[i][j];
      matrix[i][j] = matrix[n-j-1][i];
      matrix[n-j-1][i] = matrix[n-i-1][n-j-1];
      matrix[n-i-1][n-j-1] = matrix[j][n-i-1];
      matrix[j][n-i-1] = tmp;
    }
  }
  console.log(matrix);
}
rotateMatrix(matrix);