filter()方法
创建一个新数组,包含通过测试的所有元素。
// 封装一个filter函数
function myFilter(fn){
// 设置一个空数组
let arr = [];
// 循环传进来的数组
for (let i = 0 ; i < this.length; i++){
// 判断符合条件的值
if(fn(this[i],i,this)){
console.log(this[i])
// 将符合条件的值push进空数组中
arr.push(this[i])
}
}
// 循环结束时,返回arr。
// 此时如果数组中有值,就返回新数组,如果没有值,就会返回空数组
return arr;
}
// 定义数组
let arr2 = [1,3,4]
// 将myFilter挂到数组的原型下
Array.prototype.myFilter = myFilter;
// 调用方法,传入参数
arr2.myFilter(function(item,index,arr2){
// 将符合条件的值return出去
return item < 2 ;
})
网友评论