map()函数理解
map函数是Array对象的一个方法,它可以返回一个新数组,不修改原来的数组。
array.map((item,index,arr)=>{})
map回调函数的三个参数,item是必须的,代表数组的每个元素,index可选,元素的下标值,arr可选,代表元素所属于的数组对象。每个元素都要执行回调函数的内容,返回一个新的数组。
比如:
var array=[1,2,3]
var new_array=array.map((item,index)=>{
return item*2
})
new_array=[2,4,6]
手写map函数
var arr=[1,2,3]
function my_map(arr,mapCallback){
// 检查参数是否正确
if(!Array.isArray(arr)||!array.length||typeof mapCallback!=='function'){
return []
}else{
let result=[]
for(let i=0,len=arr.length;i<len;i++){
result.push(mapCallback(arr[i],i,arr))
}
return result
}
}
my_map(arr,(item)=>{
console.log(item)//1 2 3
})