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 相关文章推荐
node.js中的path.sep方法使用说明
Dec 08 Javascript
Javascript基础教程之数据类型 (数值 Number)
Jan 18 Javascript
很棒的Bootstrap选项卡切换效果
Jul 01 Javascript
概述jQuery的元素筛选
Nov 23 Javascript
JavaScript实现类似淘宝的购物车效果
Mar 16 Javascript
解决vue props 拿不到值的问题
Sep 11 Javascript
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
使用js在layui中实现上传图片压缩
Jun 18 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
Sep 25 Javascript
vue-cli设置css不生效的解决方法
Feb 07 Javascript
使用vue实现HTML页面生成图片的方法
Mar 12 Javascript
使用refresh_token实现无感刷新页面
Apr 26 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学习之 认清变量的作用范围
2010/01/26 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
jquery 回车事件实现代码
2011/08/23 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
python绘制条形图方法代码详解
2017/12/19 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
商业活动邀请函
2014/02/04 职场文书
中学生运动会口号
2014/06/07 职场文书
安全责任书怎么写
2014/07/28 职场文书
见习期个人总结
2015/03/05 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
Vue的生命周期一起来看看
2022/02/24 Vue.js