JavaScript之filter_动力节点Java学院整理


Posted in Javascript onJune 28, 2017

filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。

和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

例如,在一个Array中,删掉偶数,只保留奇数,可以这么写:

var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) {
  return x % 2 !== 0;
});
r; // [1, 5, 9, 15]

把一个Array中的空字符串删掉,可以这么写:

var arr = ['A', '', 'B', null, undefined, 'C', ' '];
var r = arr.filter(function (s) {
  return s && s.trim(); // 注意:IE9以下的版本没有trim()方法
});
r; // ['A', 'B', 'C']

可见用filter()这个高阶函数,关键在于正确实现一个“筛选”函数。

练习

请尝试用filter()筛选出素数

Javascript 相关文章推荐
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
JS对象与json字符串格式转换实例
Oct 28 Javascript
高性能JavaScript模板引擎实现原理详解
Feb 05 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
JavaScript实现简单评论功能
Aug 17 Javascript
通俗易懂地解释JS中的闭包
Oct 23 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
微信小程序实现长按删除图片的示例
May 18 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
JavaScript闭包与作用域链实例分析
Jan 21 Javascript
vue开发移动端底部导航条功能
Apr 08 Javascript
JavaScript高阶函数_动力节点Java学院整理
Jun 28 #Javascript
JavaScript之Date_动力节点Java学院整理
Jun 28 #Javascript
ES6深入理解之“let”能替代”var“吗?
Jun 28 #Javascript
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 #jQuery
AngularJS实现单一页面内设置跳转路由的方法
Jun 28 #Javascript
JavaScript中常见的八个陷阱总结
Jun 28 #Javascript
通过构造函数实例化对象的方法
Jun 28 #Javascript
You might like
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
JS 建立对象的方法
2007/04/21 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
专升本自我鉴定
2013/10/10 职场文书
大学生学雷锋活动总结
2014/06/26 职场文书
人事主管岗位职责说明书
2014/07/30 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
考试作弊检讨
2015/01/27 职场文书
辩论赛新闻稿
2015/07/17 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers