SOURCE

//手写map
Array.prototype.map2 =function map(callBack){
    let arr = this
    let result = []
    if(!Array.isArray(arr)||typeof callBack !== 'function'){
        throw new Error('error')
    }else{
        for(let i = 0 ;i<arr.length;i++){
            result.push(callBack(arr[i],i,arr))
        }
        return result

    }
}
let arr = [1,2,3,4]
let mapData =arr.map2((item,index,arr)=>{
   return item*=2
})

console.log('map=>'+mapData)

//手写filter
Array.prototype.filter2 =function filter(callBack){
    let arr = this
    let result = []
    if(!Array.isArray(arr)||typeof callBack !== 'function'){
        throw new Error('error')
    }else{
        for(let i = 0 ;i<arr.length;i++){
            if(callBack(arr[i],i,arr)){
                 result.push(arr[i])
            }
        }
        return result

    }
}
let filterData =arr.filter2((item,index,arr)=>{
  return item*2
})
console.log('filter=>'+filterData)
console 命令行工具 X clear

                    
>
console