前端理解数组map方法
function map(arr,callBack){
// 首先判断arr是否是数组,callBack是否是function,若不是则直接返回空数组
if(!Array.isArray(arr) || !arr.length || typeof callBack != 'function') return []
else {
var result = []
// 遍历数组arr
for(let i=0,len =arr.length;i<len;i++)
{
// 将当前第i次遍历的arr[i],i,以及数组arr作为形参传递给回调函数,并存入空数组result
result.push(callBack(arr[i],i,arr))
}
//然后将数组result返回
return result
}
}
var arr985 = [9, 8, 5]
// 手写map用例
map(arr985,(item,index,arr)=>{
console.log(item)
console.log(index)
console.log(arr)
console.log(item * 2)
return item*10
})
// 9
// 0
// [9, 8, 5]
// 18
//
// 8
// 1
// [9, 8, 5]
// 16
//
// 5
// 2
// [9, 8, 5]
// 10
//
// [90, 80, 50]
// 数组map用例
arr985.map((item,index,arr)=>{
console.log(item)
console.log(index)
console.log(arr)
console.log(item * 2)
return item*10;
})
// 9
// 0
// [9, 8, 5]
// 18
//
// 8
// 1
// [9, 8, 5]
// 16
//
// 5
// 2
// [9, 8, 5]
// 10
//
// [90, 80, 50]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。