ramda

介绍

介绍

特点

  • 自动柯里化(lodash/fp同级)
  • 更多的流操作(pipe/compose/chain/on/juxt/ap/coverage/promap),查看js-ramda-流相关函数(lodash/fp+futil.js同级)
  • 包体积更小

相关文章阅读

  1. 阮一峰ramda和函数式编程:函数式编程里面可以看下概念,但代码部分有误,可以看勘正的函数式编程指北
  2. 函数式编程指北,这本书是目前对函数式编程概念理解比较好的书籍.
  3. pdf文物-JavaScript函数式编程.pdf,这本书和ramda里面的api比较吻合,看完后可以加深对ramda的理解.
  4. 阅读ramda官网文章,阅读一些知乎相关文章
  5. 另外,需要复习下简单的一些数学知识

使用技巧

  1. 关于异步流,ramda里面有otherWise和andThen两个api来提供流的传递.其他部分可以参考函数式编程指北的第9章节和第10章节.
  2. 注意阅读的重要性,方便阅读才是目的.不要强制使用api去构建复杂的函数,这样功能虽然能够实现,但同时失去了最重要的代码阅读性.函数式编程的一个重要概念是方便熟悉api的开发者能够通过阅读api就可以理解该逻辑实现的相关功能.
  3. 注意数据流的传递,多使用curry来调整参数的位置,提供中间函数.
  4. 使用过程中,时刻注意将函数拆解简单化,纯化
  5. 多总结ramda中和流走向相关的函数应用
  6. 需要手动建立来补充lodash里面独具的Api

和lodash比较

  1. ramda的api并没有完全覆盖lodash的api. so,使用lodash库需要自己实现一些ramda里面已有的api,然而使用ramda库也是需要使用里面的部分api去构建lodash里面的api.但大部分api ramda都已经具备,且ramda的部分更为强大,包更小.
  2. lodash有lodash/fp库,该库特点
  • 自动柯里化
  • 迭代优先数据置后
  • immutable(入参不可改)
  • 函数名基本同ramda,有大部分相同Api,也有个别不同的api
  • 无文档,直接看库
  1. lodash推荐futil-js库(文档)作为lodash的补充。

js-ramda-介绍和对比lodash及补集库相关推荐

  1. (8)Node.js 模块介绍

    一.Node.js模块介绍 模块(包)是 Node.js 中具有特定功能的对象. 二.web浏览器端和Node端的对比图 我们通过如上图可以看到,再web浏览器端的基本语法,再Node端也能使用,但是 ...

  2. 图形化开发(一)——Three.js基本介绍-优缺点-在线编辑器 Babylon.JS是最好的JavaScript3D游戏引擎

    图形化开发(一)--Three.js基本介绍-优缺点-在线编辑器 & Babylon.JS是最好的JavaScript3D游戏引擎 课程主要学习目标 Threejs ( 3d ) D3 (做数 ...

  3. K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means)介绍与对比

    原文:http://www.cnblogs.com/yixuan-xu/p/6272208.html K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means ...

  4. fiddler和wireshark工具介绍及对比 - [测试技术知识]

    2013-11-19 fiddler和wireshark工具介绍及对比 - [测试技术知识] 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.co ...

  5. pythondevp2p_以太坊GO、JAVA、PYTHON、RUBY、JS客户端介绍

    原标题:以太坊GO.JAVA.PYTHON.RUBY.JS客户端介绍 区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地 作者:佚名 来源:CSDN 原文链接:http://blog ...

  6. 八款Js框架介绍及比较~转载

    Js框架介绍 目前来看,JS框架以及一些开发包和库类有如下几个,Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools . ...

  7. (23)Vue.js组件介绍

    一.Vue.js组件介绍 组件用于封装页面的部分功能,将功能的结构.样式.逻辑代码封装为整体.提高功能的复用性与可维护性,更好的专注于业务逻辑. 二.Vue.js组件使用 组件使用时为自定义 HTML ...

  8. Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比

    Kafka.RabbitMQ.RocketMQ等消息中间件的介绍和对比 前言 在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间产品 Roc ...

  9. Web3D编程入门总结——WebGL与Three.js基础介绍

    1 /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成"webgl与three.js基础介绍"."面向对象的基础3D场景框架编写".&quo ...

  10. JavaScript (一) js的介绍及基本语法变量

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.JS 的 介绍 1.JavaScript :简称 : js js 分为三个部分: 1. ECMASc ...

最新文章

  1. 小米4公布会视频地址
  2. 数据结构二叉树的所有基本功能实现。(C++版)
  3. 函数计算助力闲鱼构建云端一体化变成模式
  4. 飞机游戏项目完整代码(详解JAVA300集)
  5. ssh oracle id native,hibernate解决oracle的id自增?
  6. dict过滤 python_小猿圈解析Python开发的技巧都有哪些?
  7. mysql 按小时统计
  8. 正确地利用Netty建立连接池
  9. C语言关键字浅析-signed
  10. flstudio插件找不到_大家都用啥插件啊
  11. html页面书签,利用CSS实现书签效果实例源码
  12. Asymptotic efficiency of nonparametric tests笔记(正在进行中)
  13. 关于Si24r1调试的总结
  14. 图像处理网络资源【转】
  15. jquery实现向服务器发送get请求下载excel文件
  16. 育碧首款区块链游戏真的来了吗?
  17. 华为芯片鸿蒙的由来,华为“鸿蒙”真的来了!看完这些商标来历,网友们又激动了...
  18. 详细分析 Vue3 文档
  19. 华为mate30pro和荣耀v30pro的区别 哪个好
  20. speedoffice(Excel)表格中如何插入百分比符号

热门文章

  1. R语言使用aov函数执行单因素方差分析、使用TukeyHSD函数分析单因素方差分析的结果并解读TukeyHSD函数的输出结果
  2. MacOS删除开机启动项
  3. vb.net设置分辨率和缩放比例_配置高不一定性能强,Win 10做好这些设置才能“6到飞起”!...
  4. 微信群如何设置永久有效二维码?99.99%的人都不知道!
  5. 仿站和模板建站的区别_不懂建站、资金有限?外贸soho建站先看这几条建议
  6. Redis 分布式并发防止脏读
  7. 计算机网络测速创新,一种计算机网络安全测速装置的制作方法
  8. 格力董明珠和小米雷军的10亿赌局 --- 当年的理念谁赢谁输
  9. STM32F407ZET6音乐播放器
  10. Java不修改尺寸压缩图片