【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);
image.png

参数说明:

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

参数 作用
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;
 }));
image.png

尾记

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容