【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;
        }));

在这里插入图片描述

尾记

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

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

微信图片_20200706212958
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值