关于js数组方法filter()
1. filter()
都是数组方法,这个方法和forEach()的方法的区别又是什么呢?
2. 先说结论
filter() 和 forEach() 都是遍历数组的方法,甚至它们匿名函数的形参都是一样的,
而区别就在于 filter()是专门用来筛选数组内容的,
调用了filter()方法的之后,是需要接收一下的。
比如说拿一个新的变量来接受一下,或者拿原来那个调用了filter()方法的数组变量来接收一下
3. 直接上代码吧
点击查看代码
var myArr = [1, 2, 3]
var newArr = myArr.filter(function(currentValue, index, array) {
return currentValue > 1
})
console.log(newArr);
这段代码的意思,就是筛选myArr数组里面大于1的元素,然后用一个新的变量来接受filter()返回的结果

结果就是这么简单。
实际上filter方法一遍只用写一个参数,
也就是默认的第一个参数当前循环数组的项currentValue,
上面的代码精简写法如下:
点击查看代码
var newArr = myArr.filter(item => {
return item > 1
})
console.log(newArr);
同样的这里贴一个视频讲解地址:https://www.bilibili.com/video/BV1DY41177dM?p=40
关于js数组方法filter()的更多相关文章
- js 数组方法比较
js 数组方法比较 table th:first-of-type { width: 80px; } table th:nth-of-type(2) { width: 120px; } table th ...
- js数组方法详解
Array对象的方法-25个 /*js数组方法详解 */ /* * 1 concat() 用于连接多个数组或者值-------------- * 2 copyWithin() 方法用于从数组的指定位置 ...
- 转载收藏(js数组方法大全)
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
- js数组方法大全(下)
# js数组方法大全(下) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 forEach() map() filer() every() some() ...
- js数组方法大全(上)
# js数组方法大全(上) 记录一下整理的js数组方法,免得每次要找方法都找不到.图片有点多,注意流量,嘻嘻! 本期分享 join() reverse() sort() concat() slice( ...
- 几个关于js数组方法reduce的经典片段
以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要 ...
- js数组方法详解(最新最全)
数组是js中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响.本文所有的栗子都是在es7环境下测试的,如果有问题欢迎留言交流 ...
- js数组方法解析
js 数组有很多方法,其中有的常用,有的不常用,归纳几个常用的方法,做个总结: 1. 转换方法: 1.1 valueOf():调用这个方法会返回数组本身 <script> var arr ...
- JS数组方法汇总 array数组元素的添加和删除
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...
- js 数组方法总结
Array数组: length属性 可通过array.length增加或者减少数组的长度,如;array.length=4(数组长3,第四位为undefined),也可单纯获得长度.array[arr ...
随机推荐
- php curl方法封装
/** * @desc 获取设备的监控项实时值 * * @return url请求地址 * @return method 请求方法(POST,GET,PUT)等 * @return postfiel ...
- CentOS8安装pycharm报错【Can't connect to X11 window server using ':0' as the value of the DISPLAY variable. 】
在CentOS8 安装pycharm报出如下错误,原来是自己画蛇添足的用sudo执行pycharm.sh,没有按照Install说明里边的直接执行 ./pycharm.sh. 原因见这里:https: ...
- elasticsearch组件
elasticsearch组件 Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据. 它被用作全文检索.结构化搜索.分析以及这三个功能的组合 E ...
- java后端JVM面试资料
目录 JDK,JRE,JVM三者的区别与联系 讲⼀讲JVM跨平台与跨语⾔ JVM的运⾏时数据区有哪些? 什么是堆内存?堆内存包含哪些部分? 什么是内存溢出 什么是内存泄漏?与内存溢出有什么关系? 对象 ...
- R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化|附代码数据
全文链接:http://tecdat.cn/?p=30360 最近我们被客户要求撰写关于网络购物用户行为的研究报告,包括一些图形和统计输出. 随着网络的迅速发展,依托于网络的购物作为一种新型的消费方式 ...
- Docker学习笔记-03 容器数据卷
1.宿主 vs容器直接映射数据容器卷 docker run -it --privileged=true -v /宿主机绝对路径目录 :/ 容器内目录 镜像名 eg: docker run ...
- printf函数size_t的替换字符串zu
参考:https://stackoverflow.com/questions/2524611/how-can-one-print-a-size-t-variable-portably-using-th ...
- maven的setting.xml配置文件详解
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...
- R7-3 十六进制字符串转换成十进制非负整数
R7-3 十六进制字符串转换成十进制非负整数 分数 15 全屏浏览题目 切换布局 作者 颜晖 单位 浙大城市学院 输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六 ...
- SFINAE几种实现方式
一.通过函数返回值实现 template<class T> typename std::enable_if<std::is_trivially_default_constructib ...