JSFiddle - React, Tailwind, and code Playground

by saidulu401

JavaScript

/* Array.prototype.myForeEach = function(callback,thisArg){
  for(let i=0;i<this.length;i++){
    callback.call(thisArg,this[i],i,this)
  }

}

const arr = [1,2,3];
arr.myForeEach((v,i)=>{
  //console.log(v,i)
})

Array.prototype.myMap = function(callback){
  const result = []
  for(let i=0;i<this.length;i++){
    result[i]=callback.call(null,this[i],i,this)
  }
  return result;
}
const arr2 = [1,2,3];
const arr3 = arr.myMap((v,i)=>{
  //console.log(v,i)
  return v*2;
})
console.log(arr3)

Array.prototype.myEvery = function(callback){
  for(let i=0;i<this.length;i++){
    if(!callback.call(null,this[i],i,this)){
      return false;
    }
  }
  return true;
}

const arr4 = [1,2,3];
console.log(arr4.myEvery((v,i)=>v<2),'myEvery')

Array.prototype.myIncludes = function(value){
  for(let i=0;i<this.length;i++){
    if(this[i]===value) return true
  }
  return false;
}
const arr5 = [1,2,3];
console.log(arr5.myIncludes(4),'myIncludes')
console.log(arr5.includes(4),'includes')

Array.prototype.myReduce = function(callback,initial){
  let accumulator = initial;
  for(let i =0;i<this.length;i++){
    accumulator = callback.call(null,accumulator,this[i])
  }
  return accumulator;
}
const arr6 = [1,2,3,10,20];
console.log(arr6.myReduce((a,b)=>a+b,0),'myReduce')
console.log(arr6.reduce((a,b)=>a+b,0),'reduce') */
/* 
Array.prototype.myFlat = function(depth=1){
  let result = [];
  function flat(arr,d){
    for(let i=0;i<arr.length;i++){
      if(d == 0 || !(Array.isArray(arr[i]) && arr[i].length)){
        result.push(arr[i])
      }else{
        flat(arr[i],d-1);
        
      }
    }

  }
  flat(this,depth);
  return result
}

const arr7 = [1,[2,[3,10],22,4,[5,[6]]],20];
console.log(arr7.myFlat(2),'myFlat')
console.log(arr7.flat(2),'flat')
 */

function curry(...initial){
  let total = initial.reduce((a,b)=>a+b,0);
  return function c(...arg){
    if(arg.length){
      total +=...