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 +=...