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 AJAX 用于计算点击率(统计)
Jun 30 Javascript
Extjs优化(二)Form表单提交通用实现
Apr 15 Javascript
图片动画横条广告带上下滚动的JS代码
Oct 25 Javascript
javascript页面倒计时实例
Jul 25 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
JavaScript中变量、指针和引用功能与操作示例
Aug 04 Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 Javascript
ant-design-vue按需加载的坑的解决
May 14 Javascript
vue 弹出遮罩层样式实例
Jul 22 Javascript
Vue2.x-使用防抖以及节流的示例
Mar 02 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
PHP实现根据银行卡号判断银行
2015/04/29 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
python用700行代码实现http客户端
2021/01/14 Python
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
副总经理岗位职责
2014/03/16 职场文书
班组长安全工作职责
2014/07/15 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
httpclient调用远程接口的方法
2022/08/14 Java/Android