var array = [23, 56, 78, 42, 11, 49]
let ret = array.map((item)=>{
return item + 1
})
console.log(ret) // [24, 57, 79, 43, 12, 50]
底层实现原理
关键是:使用回调函数处理数组中的每一项
Array.prototype.myMap = function(callback){
let newArray = []
//原型方法中,this指的就是Array实例
this.forEach(oldData => {
//回调函数处理每一项数据
let newData = callback(oldData)
//处理完成后,追加到新数组中
newArray.push(newData)
})
//最终返回新数组
return newArray
}
//item是形参 实参是oldData
let ret2 = array.myMap(item =>{
return item - 1
})
console.log(ret2) //[22, 55, 77, 41, 10, 48]