【JS学习】数组过滤方法的使用filter


前言:本博客系列为学习后盾人js教程过程中的记录与产出,如果对你有帮助,欢迎关注,点赞,分享。不足之处也欢迎指正,作者会积极思考与改正。

使用效果:

可以返回参数函数为真的值

 //情景:实现从stu数组里面提取js成绩大于60的项
 
 let stu=[
                {name:"张三",js:90},
                {name:"李四",js:50},
                {name:"王五",js:60},
        ];//定义数组
        let newarr=stu.filter(function(item,index,arr0){//调用filter方法,传入函数,若函数返回值为真,则返回该项
            // console.log(index);
            return item.js>60;//当每项元素的元素的js成绩大于60时返回真
        });
        console.table(newarr);

参数说明:

参数名称不重要,重要的是第几个参数

参数 作用
function 执行方法,函数返回真的项会被收集
第一参数item 指被调用函数stu的遍历中的当前项{name:"张三",js:90}
第二参数index 指被调用函数stu的遍历中的当前项的索引值0,1,2
第三参数arr 指被调用函数stu

方法原理解析:

 //filter的实现原理
        let stu=[
                {name:"张三",js:90},
                {name:"李四",js:50},
                {name:"王五",js:60},
        ];

        function filter1(arr,callback){//arr为数组,callback为函数
            let newArr=[];
            for(const value of arr){//遍历数组
                if(callback(value)===true){//将每个值放入回调函数,返回真执行
                    newArr.push(value);//将值加入数组
                }
            }
            return newArr;//返回结果
        }
        console.log(filter1(stu,function(value){
            return value.js>60;
        }));

尾记

有任何问题,欢迎私聊哟~~~

也可关注公众号“诗与凉风”联系作者哦~~


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM