find() 方法
返回数组中满足提供的测试函数的第一个元素的值,否则返回undefined。
简单来说就是一个数组来调用这个方法,传入一个函数和三个参数,同时设置条件,得到满足条件的第一个值,就终止程序。
如果全部的值都不满足,调用的函数本身返回undefined。
//封装一个myfind()方法
function myFind(fn){
// 循环传进来的每一项 谁调用this就是谁
for(let i=0; i<this.length; i++){
// 判断有没有符合条件的值
if(fn(this[i],i,this)){
console.log(this[i])
// 如果有,就把这个值 return 出去
return this[i];
// 跳出循环
break;
}//需要注意的是这里不能写else.
//如果写了,循环第一次有不符合条件的值就会走这里,其他的值就不会继续判断了
}
};
// 定义一个数组
let arr = [1,3,5]
// 将 myFind 方法挂到 数组的原型下
Array.prototype.myFind = myFind ;
// 调用 myFind 方法 传入函数和三个参数
arr.myFind(function(item,index,arr){
// console.log(item,index,arr)
// 将符合条件的数值 return 出去
return item > 2;
})
// 如果没有满足的值,arr.myFind()这个函数的执行结果返回undefined。
网友评论