JS Array filter()方法
JS Array filter()方法
js的数据对象有一个fileter()方法,运行传入一个方法,并对数组中的每个元素进行过滤。
var arr = [1,2,3,4,5,6];
function checknum(num){return num >= 5 ;
}
var narr = arr.filter(checknum); //结果:narr = [5,6]
1.语法
filter()的完整语法如下:
array.filter(function(currentValue,index,arr), thisValue)
- function(currentValue,index,arr): 过滤用的函数,每个元素都会执行这个函数(必)
- currentValue: 传入的值(必)
- index : 索引(选)
- arr: 当前调用filter()方法的数组对象(选)
- thisValue : 传递给过滤函数的this的值。
2.案例
2.1过滤小于35岁的数据
var age = [17,21,35,45,54,64];
function checkage(age){return age >= 35 ;
}
var narr = age.filter(checknum); //结果:narr = [35,45,54,64]
2.2过滤arr中小于30的数,并且过滤不存在于arr2中的数
分析一下下面的案例,当arr调用filter()方法并传入一个过滤函数时,我也传入了一个arr2数组对象,而这个arr2数组对象将会赋值给过滤函数中的this。当执行filter中的过滤函数时,会将arr中每个元素当成参数传递给checknum(num),判断num十分大于30并包含在arr2数组中,返回的Boolean结果将决定了该元素是否被保留。True(保留) False(去掉)。
var arr = [14,20,36,54,67,88,96]
var arr2 = [14,54,88]
function checknum(num){return num >= 30 && this.indexof(num)!=-1;
}
var narr = arr.filter(checknum,arr2); //结果:narr = [54,88]
2.3过滤掉arr中第三个元素的值
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。所以在过滤的过程中arr数组并没有发生改变。
var arr = [14,20,36,54,67,8,36,36,96,36]
//可以传入箭头函数
var narr = arr.filter((currentValue,index,arr)=>{return currentValue ==arr[2];
});
2.4过滤掉arr中第三个元素的重复值
这里通过index获取当前元素在数组中索引,通过索引我们可以进行判断,从而避免删除第三个元素。(我们只是删除后面出现重复值)
var arr = [14,20,36,54,67,8,36,36,96,36]
//可以传入箭头函数
var narr = arr.filter((currentValue,index,arr)=>{return currentValue ==arr[2] && index != 2;
});
JS Array filter()方法相关推荐
- JS Array.map方法内异步方法无法同步执行
问题: JS Array.map方法内异步方法无法同步执行 场景: 我们在使用map来设置每一项值的时候,涉及到异步操作,就会出现问题. 按照常规,重现出一种情形. 假设我要使用map对每一项值进行操 ...
- 如何拿到对象数组中的某一对象的元素(JS的filter方法)
如何拿到对象数组中的某一对象的元素 在写一个简单的商品管理系统的时候,遇到了一个问题,我接口中需要传递的参数是一个role_id,但是我在页面上显示是角色名称 通过对filter()方法的使用,拿到对 ...
- js Array扩展方法
Object.extend = function (destination, source) { /// <summary> /// 扩展对象方法 /// </su ...
- js Array 标准方法
array.concat(item...) concat方法产生一个新数组,它包含一份array的浅自制(shallow copy)并把一个或多个参数item附加在其后.如果参数item是一个数组,那 ...
- 数组中的filter方法_数组filter()方法以及JavaScript中的示例
数组中的filter方法 JavaScript filter()方法 (JavaScript filter() method) filter() method is used to returns a ...
- 前端利用js里数组的filter方法进行多条件过滤查询
需求:用户在输入框输入多个条件时,可以对表格数据进行过滤查询,无需后端接口处理,利用了前端js里数组的filter方法进行过滤. 如下是效果图: 当用户在姓名的输入框里输入"张"后 ...
- js中数组filter过滤奇偶数_JS filter()方法:根据指定条件过滤数组元素
JavaScript filter() 方法可以返回数组中满足指定条件的元素.具体用法如下: array.filter(callbackfn[, thisArg]); 参数说明: array:必需参数 ...
- JS Array.slice 截取数组的实现方法
这篇文章主要介绍了JS Array.slice 截取数组的实现方法,因为我们需要控制一下长度,需要的朋友可以参考下 slice定义和用法 slice() 方法可从已有的数组中返回选定的元素. 语法 a ...
- js 数组遍历方法详解(map、filter、find、findIndex、reduce)
目录 前言 map map是什么 map方法的结构及入参 语法糖 map一般不改变原数组 filter 说明 例子 find 和 findIndex 说明 例子 reduce 说明 例子 尾言 前言 ...
最新文章
- Git Bash修改默认路径
- linux ubuntu文件系统,Ubuntu Linux文件系统的目录及用途简析
- 无线局域网安装与调试(Wireless LAN installation and commissioning)
- drawboard pdf拆分文件_电脑在线如何分割PDF页面?免费分割3M以内PDF文件页面的简单方法...
- olap mysql_MySQL与OLAP:分析型SQL查询最佳实践探索
- SAP自学指南:案例公司的SAP实现(一)
- Kotlin入门(22)适配器的简单优化
- linux 删除文件内容
- 360浏览器不能打开CSDN登陆页面
- 在做模具设计过程中应注意哪些问题
- 利用DynamipsGUI制作BSCI课程实验拓扑
- bilibili手机缓存视频转换为mp4
- 安装 卸载project
- linux命令kp使用方法,Linux 命令 使用
- nmon监控工具使用(打开nmon文件出现 运行时错误13类型不匹配)
- Tomasulo算法与记分牌算法的区别
- 所谓的不撞南墙不回头
- 关于vscode 中Live Server插件无法弹出Chrome浏览器问题
- java计算机毕业设计学生宿舍信息管理源码+系统+mysql数据库+lw文档
- 蓝牙Bluetooth模块介绍