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下利用arguments实现string.format函数
Aug 24 Javascript
jquery each()源代码
Feb 14 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
May 24 Javascript
js关闭模态窗口刷新父页面或跳转页面
Dec 13 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
Aug 15 Javascript
node.js中的console用法总结
Dec 15 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
Dec 14 Javascript
解决URL地址中的中文乱码问题的办法
Feb 10 Javascript
Node.js 异步异常的处理与domain模块解析
May 10 Javascript
vue绑定数字类型 value为数字的实例
Aug 31 Javascript
vue基于Teleport实现Modal组件
May 31 Vue.js
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
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
php生成随机颜色的方法
2014/11/13 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
python实现转圈打印矩阵
2019/03/02 Python
Python初学者常见错误详解
2019/07/02 Python
在django view中给form传入参数的例子
2019/07/19 Python
基于django传递数据到后端的例子
2019/08/16 Python
PyTorch的torch.cat用法
2020/06/28 Python
校园文化建设方案
2014/02/03 职场文书
开学季活动策划方案
2014/02/28 职场文书
体育比赛口号
2014/06/09 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
派出所班子党的群众路线对照检查材料思想汇报
2014/10/01 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
PHP命令行与定时任务
2021/04/01 PHP
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
virtualenv隔离Python环境的问题解析
2022/06/21 Python