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 相关文章推荐
在多个页面使用同一个HTML片段的代码
Mar 04 Javascript
jquery实现树形二级菜单实例代码
Nov 20 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
Aug 05 Javascript
js判断文件格式及大小的简单实例(必看)
Oct 11 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
Jan 04 Javascript
js实现简单的获取验证码按钮效果
Mar 03 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
vue.js计算属性computed用法实例分析
Jul 06 Javascript
node基于async/await对mysql进行封装
Jun 20 Javascript
vue中监听返回键问题
Aug 28 Javascript
微信浏览器左上角返回按钮监听的实现
Mar 04 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 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
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
jQuery 动态酷效果实现总结
2009/12/27 Javascript
Jquery ui css framework
2010/06/28 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
完善的jquery处理机制
2016/02/21 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
vue按需加载实例详解
2019/09/06 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
JS简单表单验证功能完整示例
2020/01/26 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
python中装饰器级连的使用方法示例
2017/09/29 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
使用python+poco+夜神模拟器进行自动化测试实例
2020/04/23 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
css3实现蒙版弹幕功能
2019/06/18 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
给老婆的搞笑检讨书
2014/01/12 职场文书
英语感恩演讲稿
2014/01/14 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
论文诚信承诺书
2014/05/23 职场文书
升学宴家长致辞
2015/07/27 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
九不准学习心得体会
2016/01/23 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书