//手写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