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 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
Mar 05 Javascript
浅谈JavaScript中的对象及Promise对象的实现
Nov 15 Javascript
简要了解jQuery移动web开发的响应式布局设计
Dec 04 Javascript
浅析$(function) ready和onload 的区别
Sep 03 Javascript
jQuery实现复制到粘贴板功能
Feb 11 Javascript
vue2.0 自定义日期时间过滤器
Jun 07 Javascript
基于bootstrap页面渲染的问题解决方法
Aug 09 Javascript
JS数据类型STRING使用实例解析
Dec 18 Javascript
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
js正则匹配markdown里的图片标签的实现
Mar 24 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
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
十条建议帮你提高Python编程效率
2016/02/16 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
python先序遍历二叉树问题
2017/11/10 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
Python银行系统实战源码
2019/10/25 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
中学运动会广播稿
2014/01/19 职场文书
财政专业求职信范文
2014/02/19 职场文书
写给老婆的检讨书
2014/02/21 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
OpenCV-Python实现轮廓的特征值
2021/06/09 Python
HTML基础详解(下)
2021/10/16 HTML / CSS
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript