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 相关文章推荐
jQuery 学习6 操纵元素显示效果的函数
Feb 07 Javascript
javascript笔记 String类replace函数的一些事
Sep 22 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
May 31 Javascript
webpack下实现动态引入文件方法
Feb 22 Javascript
vue-devtools的安装步骤
Apr 23 Javascript
AngularJS 监听变量变化的实现方法
Oct 09 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
ES6 对象的新功能与解构赋值介绍
Feb 05 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
Sep 23 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
Apr 13 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/11/27 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
js onpropertychange输入框 事件获取属性
2009/03/26 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
使用python实现省市三级菜单效果
2016/01/20 Python
Python实现多进程的四种方式
2019/02/22 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
单位工程竣工验收方案
2014/03/16 职场文书
小学家长学校培训材料
2014/08/24 职场文书
导游词欢迎词
2015/02/02 职场文书
五四青年节活动总结
2015/02/10 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android