模拟实现map方法

308 阅读1分钟
 function map (arr,callback){
      //检测传入的数组是不是数组,数组长度是否为0,传入的回调函数是不是函数,如果不是返会空
      if(!Array.isArray(arr) || !arr.length || typeof callback !=='function'){
      return [] 
      }else {
       let result = []
       //循环对数组中的每个值调用函数
       for ( let i=0 ,len =arr.length;i<len;i++){
             result.push(callback(arr[i],i,arr))
       }
       return result
      }
 }

下面实践一下


    map(arr, (item)=>{
        console.log(item);
    })
 //1
 //2
 //3

!!!内存泄漏的几种情况 1.全局变量 2.没被清除的定时器 3.闭包 4.失去引用的dom