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

尾记:
有任何问题,欢迎私聊哟~~~
也可关注公众号“诗与凉风”联系作者哦~~

【JS学习】数组过滤方法的使用filter的更多相关文章
- JS实现数组去重方法大总结
js数组根据对象中的元素去重: var arr2 = [ { name: "name1", num: "1" }, { name: "name2&qu ...
- JavaScript -- 时光流逝(二):js中数组的方法
JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...
- js中数组去重方法及性能对比
js中数组的 数组去重 常用的数组去重方法以及效率分析: 首先我们先构建一个数组,主要是用于进行去重实验,我们主要实验的量级为1000,10000,100000,500000.具体的生成数组的方法如下 ...
- es6 filter() 数组过滤方法总结
1.创建一个数组,判断数组中是否存在某个值 var newarr = [ { num: , val: 'ceshi', flag: 'aa' }, { num: , val: 'ceshi2', fl ...
- es6 filter() 数组过滤方法总结(转载)
1.创建一个数组,判断数组中是否存在某个值 var newarr = [ { num: 1, val: 'ceshi', flag: 'aa' }, { num: 2, val: 'ceshi2', ...
- JS实现数组去重方法整理
前言 我们先来看下面的例子,当然来源与网络,地址<删除数组中多个不连续的数组元素的正确姿势> 我们现在将数组中所有的‘ a’ 元素删除: var arr = ['a', 'a', 'b', ...
- JS实现数组去重方法总结(六种方法)
方法一: 双层循环,外层循环元素,内层循环时比较值 如果有相同的值则跳过,不相同则push进数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Array. ...
- Jsの练习-数组其他常用方法 -map() ,filter() ,every() ,some()
map() :映射,对数组中的每一项运行给定函数,返回每次函数调用结果组成的函数. <!DOCTYPE html> <html lang="en"> < ...
- JS中数组的方法
1. join() Array.join() 是 String.split() 的逆向操作 var arr = [1, 2, 3] arr.join()// "1,2,3" arr ...
随机推荐
- XJOI contest 1590
首先 热烈庆祝"CSP-S 2020全国开放赛前冲刺模拟训练题1"圆满结束!!! 感谢大毒瘤周指导的题目.题目还是很不错的,部分分设置的也比较合理,各种神仙随便 \(\text{A ...
- CF1416D Graph and Queries
本题解用于作者加深算法印象,也欢迎各位的阅读. 题目大意 给你一张无向图,并给你两种操作: \(1~v\) :找到当前点 \(v\) 所在的联通块内权值最大的点,输出该点权值并将其权值改为 \(0\) ...
- 云服务器 ECS Linux 安装 VNC Server 实现图形化访问配置说明
阿里云官方公共 Linux 系统镜像,基于性能及通用性等因素考虑,默认没有安装 VNC 服务组件.本文对常见操作系统下的 VNC Server 安装配置进行简要说明. 本文中仅讨论VNC的安装,关于图 ...
- webstorm实现手机预览页面
效果:在webstorm中开发页面,复制该页面在电脑中的浏览网址,发给手机,在手机上点击链接,可以直接访问本地开发的页面.并且,电脑上修改后保存,手机上刷新即可看到效果. 步骤: 1.webstorm ...
- linux下/etc/profile /etc/bashrc /root/.bashrc /root/.bash_profile这四个配置文件的加载顺序
目录 一.关于linux配置文件 二.验证四个配置文件的加载顺序 三.结论 一.关于linux配置文件 1.linux下主要有四个配置文件:/etc/profile ./etc/bashrc ./ro ...
- 基础的DOS命令
基础的dos命令 注:所有的命令以及符号应使用英文 打开CMD的方式 开始+系统+命令提示符 Win+R 输入cmd打开控制台 略 常用的dos命令 //切换盘符的方法:直接输入想进入的盘加冒号,例如 ...
- oracle归档空间不足的问题(rman删除归档日志)
案例一:归档日志满,数据库用户无法登陆,业务异常 解决方案一(可以登录rman): rman target / RMAN> crosscheck archivelog all; RM ...
- Hbase各组件职责
Hbase各组件职责 Client职责 1.HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META ...
- yum提示错误: error: rpmdb: BDB0113 Thread/process 9866/140290246137664 failed:
错误如下: 解决办法:重新构建rpm数据库
- python3全局函数解析
python的全局函数: import builtins dir(builtins) [ 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray ...