// reduce方法
// arr.reduce(fun(sum,item,index,arr),initValue) 返回一个数组
// map方法
// arr.map((item,index)=>item+1)
// reduce实现map
Array.prototype.myMap=function(fn){
let result=[]
let arr=this
return arr.reduce((prev,cur,index,arr)=>{
return [...prev,fn.call(arr,cur)]
},[])
// reduce重写
// arr.reduce((prev,cur,index,arr)=>{
// // console.log(cur);
// result.push(fn.call(arr,cur))
// },0)
//forEach重写
// arr.forEach(item=>{
// result.push(fn.call(arr,item))
// })
//for循环重写
// for(let i=0;i<arr.length;i++){
// result.push(fn.call(arr,arr[i]))
// }
// return result
}
let arr=[1,2,3,4]
console.log(arr.myMap(item=>item+1))