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去掉数组中的重复元素
Jan 13 Javascript
基于JQuery制作可编辑的表格特效
Dec 23 Javascript
jQuery中clearQueue()方法用法实例
Dec 29 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 Javascript
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
animate 实现滑动切换效果【实例代码】
May 05 Javascript
vue日期组件 支持vue1.0和2.0
Jan 09 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
微信小程序实现列表页的点赞和取消点赞功能
Nov 02 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
Apr 15 Javascript
vue实现树形结构样式和功能的实例代码
Oct 15 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
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
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
php注册登录系统简化版
2020/12/28 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
PHP精确计算功能示例
2016/11/29 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
phpfpm的作用和用法
2019/10/10 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
js中小数转换整数的方法
2014/01/26 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
js实现金山打字通小游戏
2020/07/24 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
pycharm 使用心得(四)显示行号
2014/06/05 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
Python实现GIF图倒放
2020/07/16 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
Java程序员面试题
2013/07/15 面试题
八一建军节部队活动方案
2014/02/04 职场文书
英语教师个人工作总结
2015/02/09 职场文书