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 相关文章推荐
JavaScript 判断浏览器类型及版本
Feb 21 Javascript
JavaScript中null与undefined分析
Jul 25 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
jQuery手指滑动轮播效果
Dec 22 Javascript
Node.js学习入门
Jan 03 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
Aug 27 Javascript
使用express+multer实现node中的图片上传功能
Feb 02 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
Feb 28 Javascript
Vue-Router基础学习笔记(小结)
Oct 15 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 Javascript
JS实现导航栏楼层特效
Jan 01 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目录函数实现创建、读取目录教程实例
2011/01/13 PHP
php curl 伪造IP来源的实例代码
2012/11/01 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
Python实现程序的单一实例用法分析
2015/06/03 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python中单下划线_的常见用法总结
2018/07/10 Python
Django 视图层(view)的使用
2018/11/09 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
python3图片文件批量重命名处理
2019/10/31 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
房地产资料员岗位职责
2014/07/02 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
交通处罚决定书
2015/06/24 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
详解Nginx 工作原理
2021/03/31 Servers
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
python缺失值填充方法示例代码
2022/12/24 Python