美文网首页
手动封装数组方法find()

手动封装数组方法find()

作者: 楠楠_c811 | 来源:发表于2019-01-01 17:32 被阅读32次
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。

相关文章

网友评论

      本文标题:手动封装数组方法find()

      本文链接:https://www.haomeiwen.com/subject/eefwlqtx.html