手写js函数——map/every/some

96 阅读1分钟
//map
const map=(array,fn)=>{
 let result=[]
 for(let i=0;i<array.length;i++){
 result.push(fn(array[i],i))
    }
 return result
}
const arr=[1,2,3,4,5]
const r=map(arr,(item,index)=>{
 return item+index
})
console.log(r);



//every 
const every=(array,fn)=>{
 let result=true
 for(let i=0;i<array.length;i++){
 if(!fn(array[i],i)){
 return false
        }
    }
 return result
}

const arr1=[1,2,334,4,111]
const r1=every(arr1,(item)=>{
 return item>100
})
console.log(r1);

//some
const some=(array,fn)=>{
 let result=false
 for(let i=0;i<array.length;i++){
 result=fn(array[i],i)
 if(result){
 break
        }
    }
 return result
}

const arr2=[1,2,334,4,111]
const r2=some(arr1,(item)=>{
 return item%11===0
})
console.log(r2);