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中的有名函数和无名函数
Oct 17 Javascript
javascript教程之不完整的继承(js原型链)
Jan 13 Javascript
jQuery实现的图片分组切换焦点图插件
Jan 06 Javascript
理解javascript中DOM事件
Dec 25 Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 Javascript
JS简单实现tab切换效果的多窗口显示功能
Sep 07 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
详解Webpack DLL用法以及功能
Jul 11 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
Sep 21 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
Jun 17 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简介
2006/10/09 PHP
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
浅谈python中的正则表达式(re模块)
2017/10/17 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
Python数组并集交集补集代码实例
2020/02/18 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
大码女装:Ulla Popken
2019/08/06 全球购物
党员干部承诺书范文
2014/03/25 职场文书
预备党员转正考核材料
2014/06/03 职场文书
会计求职自荐信
2015/03/26 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
狂人日记读书笔记
2015/06/30 职场文书
校长新学期致辞
2015/07/30 职场文书
写给同事的离职感言
2015/08/04 职场文书
预备党员入党感想
2015/08/10 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
详解Mysql 函数调用优化
2021/04/07 MySQL