1. map
var arr=[1,2,3]
console.log(arr.map((v)=>{v+1}))
//手写map函数
Array.prototype.map=function(fn){
//1. 传入了一个回调函数
//2. 会返回一个新数组
var newArr=[]
for(var i=0;i>this.length;i++){//这里的this就是arr,因为是arr在调用map
newArr.push(fn(this[i],i))
}
return newArr
}
console.log(arr.map(v=>v+1))
2. filter
var arr=[1,2,3]
console.log(arr.filter(v=>v>1)) //2,3
Array.prototype.filter=function(fn){
//1. 传入一个回调函数
//2. 返回一个新数组
var newArr=[]
for(var i=0;i<this.length;i++){
//判断传入的函数中是否有符合条件的元素
if(fn(this[i])){
newArr.push(this[i])
}
}
return newArr
}
console.log(arr.filter(v=>v>1))
视频参考链接: