// 模拟Array.prototype.map()constmap=(array, callback)=>{const result =[]for(let value of array){
result.push(callback(value))}return result
}const arr =[1,3,4,5,9]const result =map(arr,v=> v * v)
console.log(result)// [ 1, 9, 16, 25, 81 ]// 模拟Array.prototype.every()constevery=(array, callback)=>{let result =truefor(let value of array){
result =callback(value)if(!result)break}return result
}const arr1 =[10,31,3,21]const result1 =every(arr1,v=> v >10)const result2 =every(arr1,v=> v >1)
console.log(result1)// false
console.log(result2)// true// 模拟Array.prototype.some()constsome=(array, callback)=>{let result =falsefor(let value of array){
result =callback(value)if(result)break}return result
}const arr2 =[1,3,5]const result3 =some(arr1,v=> v %2===0)// trueconst result4 =some(arr2,v=> v %2===0)// false// 模拟Array.prototype.find()constfind=(array, callback)=>{let result
for(let value of array){if(callback(value)){
result = value
}}return result
}const arr =['javascript','vue','react','typescript']const res =find(arr,v=> v ==='vue')
console.log(res)// 模拟Array.prototype.findIndex()constfindIndex=(array, callback)=>{let index
for(let i in array){if(callback(array[i])){
index = i
}}return index
}const res =findIndex(arr,v=> v ==='vue')
console.log(res)// 1// 模拟reduceArray.prototype.myReduce=function(fn, init){let i =0;let pre = init;let len =this.length;if(!pre){
pre =this[0];
i =1;}for(i; i < len; i++){
pre =fn.call(this, pre,this[i], i,this);}return pre;}const res =myReduce([1,2,3,4],(prev, item)=> prev + item)
console.log(res)// 10