js-ramda-介绍和对比lodash及补集库
ramda
介绍
介绍
特点
- 自动柯里化(lodash/fp同级)
- 更多的流操作(pipe/compose/chain/on/juxt/ap/coverage/promap),查看js-ramda-流相关函数(lodash/fp+futil.js同级)
- 包体积更小
相关文章阅读
- 阮一峰ramda和函数式编程:函数式编程里面可以看下概念,但代码部分有误,可以看勘正的函数式编程指北
- 函数式编程指北,这本书是目前对函数式编程概念理解比较好的书籍.
- pdf文物-JavaScript函数式编程.pdf,这本书和ramda里面的api比较吻合,看完后可以加深对ramda的理解.
- 阅读ramda官网文章,阅读一些知乎相关文章
- 另外,需要复习下简单的一些数学知识
使用技巧
- 关于异步流,ramda里面有otherWise和andThen两个api来提供流的传递.其他部分可以参考函数式编程指北的第9章节和第10章节.
- 注意阅读的重要性,方便阅读才是目的.不要强制使用api去构建复杂的函数,这样功能虽然能够实现,但同时失去了最重要的代码阅读性.函数式编程的一个重要概念是方便熟悉api的开发者能够通过阅读api就可以理解该逻辑实现的相关功能.
- 注意数据流的传递,多使用curry来调整参数的位置,提供中间函数.
- 使用过程中,时刻注意将函数拆解简单化,纯化
- 多总结ramda中和流走向相关的函数应用
- 需要手动建立来补充lodash里面独具的Api
和lodash比较
- ramda的api并没有完全覆盖lodash的api. so,使用lodash库需要自己实现一些ramda里面已有的api,然而使用ramda库也是需要使用里面的部分api去构建lodash里面的api.但大部分api ramda都已经具备,且ramda的部分更为强大,包更小.
- lodash有lodash/fp库,该库特点
- 自动柯里化
- 迭代优先数据置后
- immutable(入参不可改)
- 函数名基本同ramda,有大部分相同Api,也有个别不同的api
- 无文档,直接看库
- lodash推荐futil-js库(文档)作为lodash的补充。
js-ramda-介绍和对比lodash及补集库相关推荐
- (8)Node.js 模块介绍
一.Node.js模块介绍 模块(包)是 Node.js 中具有特定功能的对象. 二.web浏览器端和Node端的对比图 我们通过如上图可以看到,再web浏览器端的基本语法,再Node端也能使用,但是 ...
- 图形化开发(一)——Three.js基本介绍-优缺点-在线编辑器 Babylon.JS是最好的JavaScript3D游戏引擎
图形化开发(一)--Three.js基本介绍-优缺点-在线编辑器 & Babylon.JS是最好的JavaScript3D游戏引擎 课程主要学习目标 Threejs ( 3d ) D3 (做数 ...
- 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 ...
- fiddler和wireshark工具介绍及对比 - [测试技术知识]
2013-11-19 fiddler和wireshark工具介绍及对比 - [测试技术知识] 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.co ...
- pythondevp2p_以太坊GO、JAVA、PYTHON、RUBY、JS客户端介绍
原标题:以太坊GO.JAVA.PYTHON.RUBY.JS客户端介绍 区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地 作者:佚名 来源:CSDN 原文链接:http://blog ...
- 八款Js框架介绍及比较~转载
Js框架介绍 目前来看,JS框架以及一些开发包和库类有如下几个,Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools . ...
- (23)Vue.js组件介绍
一.Vue.js组件介绍 组件用于封装页面的部分功能,将功能的结构.样式.逻辑代码封装为整体.提高功能的复用性与可维护性,更好的专注于业务逻辑. 二.Vue.js组件使用 组件使用时为自定义 HTML ...
- Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比
Kafka.RabbitMQ.RocketMQ等消息中间件的介绍和对比 前言 在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间产品 Roc ...
- Web3D编程入门总结——WebGL与Three.js基础介绍
1 /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成"webgl与three.js基础介绍"."面向对象的基础3D场景框架编写".&quo ...
- JavaScript (一) js的介绍及基本语法变量
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.JS 的 介绍 1.JavaScript :简称 : js js 分为三个部分: 1. ECMASc ...
最新文章
- 小米4公布会视频地址
- 数据结构二叉树的所有基本功能实现。(C++版)
- 函数计算助力闲鱼构建云端一体化变成模式
- 飞机游戏项目完整代码(详解JAVA300集)
- ssh oracle id native,hibernate解决oracle的id自增?
- dict过滤 python_小猿圈解析Python开发的技巧都有哪些?
- mysql 按小时统计
- 正确地利用Netty建立连接池
- C语言关键字浅析-signed
- flstudio插件找不到_大家都用啥插件啊
- html页面书签,利用CSS实现书签效果实例源码
- Asymptotic efficiency of nonparametric tests笔记(正在进行中)
- 关于Si24r1调试的总结
- 图像处理网络资源【转】
- jquery实现向服务器发送get请求下载excel文件
- 育碧首款区块链游戏真的来了吗?
- 华为芯片鸿蒙的由来,华为“鸿蒙”真的来了!看完这些商标来历,网友们又激动了...
- 详细分析 Vue3 文档
- 华为mate30pro和荣耀v30pro的区别 哪个好
- speedoffice(Excel)表格中如何插入百分比符号
热门文章
- R语言使用aov函数执行单因素方差分析、使用TukeyHSD函数分析单因素方差分析的结果并解读TukeyHSD函数的输出结果
- MacOS删除开机启动项
- vb.net设置分辨率和缩放比例_配置高不一定性能强,Win 10做好这些设置才能“6到飞起”!...
- 微信群如何设置永久有效二维码?99.99%的人都不知道!
- 仿站和模板建站的区别_不懂建站、资金有限?外贸soho建站先看这几条建议
- Redis 分布式并发防止脏读
- 计算机网络测速创新,一种计算机网络安全测速装置的制作方法
- 格力董明珠和小米雷军的10亿赌局 --- 当年的理念谁赢谁输
- STM32F407ZET6音乐播放器
- Java不修改尺寸压缩图片