underscore之Chaining_动力节点Java学院整理


Posted in Javascript onJuly 10, 2017

还记得jQuery支持链式调用吗?

$('a').attr('target', '_blank')
   .append(' <i class="uk-icon-external-link"></i>')
   .click(function () {});

如果我们有一组操作,用underscore提供的函数,写出来像这样:

_.filter(_.map([1, 4, 9, 16, 25], Math.sqrt), x => x % 2 === 1);
// [1, 3, 5]

能不能写成链式调用?

能!

underscore提供了把对象包装成能进行链式调用的方法,就是chain()函数:

_.chain([1, 4, 9, 16, 25])
 .map(Math.sqrt)
 .filter(x => x % 2 === 1)
 .value();
// [1, 3, 5]

因为每一步返回的都是包装对象,所以最后一步的结果需要调用value()获得最终结果。

小结

通过学习underscore,是不是对JavaScript的函数式编程又有了进一步的认识?

Javascript 相关文章推荐
jQuery 1.2.x 升? 1.3.x 注意事项
May 06 Javascript
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
Jun 26 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
Mar 04 Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 Javascript
JavaScript 数组的深度复制解析
Nov 02 Javascript
最好用的Bootstrap fileinput.js文件上传组件
Dec 12 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
May 27 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
通过cordova将vue项目打包为webapp的方法
Feb 02 Javascript
Element Badge标记的使用方法
Jul 27 Javascript
Vue 2.0的数据依赖实现原理代码简析
Jul 10 #Javascript
Vue实现virtual-dom的原理简析
Jul 10 #Javascript
Vue2路由动画效果的实现代码
Jul 10 #Javascript
深入浅析Node.js单线程模型
Jul 10 #Javascript
require.js中的define函数详解
Jul 10 #Javascript
vue.js组件之间传递数据的方法
Jul 10 #Javascript
Node.js+Express+MySql实现用户登录注册功能
Jul 10 #Javascript
You might like
在PHP中利用XML技术构造远程服务(上)
2006/10/09 PHP
php str_pad 函数使用详解
2009/01/13 PHP
php array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
多引号嵌套的变量命名的问题
2014/05/09 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
Swiper自定义分页器使用详解
2017/12/28 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
django 2.0更新的10条注意事项总结
2018/01/05 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
鱼油专家:Omegavia
2016/10/10 全球购物
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
信息专业个人的自我评价
2013/12/27 职场文书
招聘单位介绍信
2014/01/14 职场文书
心得体会的写法
2014/09/05 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS