官方文档: https://ramdajs.com/docs/
链式操作,惊为天人,现在有 AI 来干活,感觉不是那么难写了
1
zhengfan2016 1 天前
|
2
lizy0329 OP @zhengfan2016 个人觉得比 lodash 强大 10000 倍
|
3
abc1310054026 1 天前
要比喻的话更像是链式 rxjs 。写的人爽了,维护的人不懂可就惨了
|
4
qs 1 天前 via iPhone
16 年的时候好像写游戏客户端的同事就用这个来着
当时就说很方便了 |
5
lizy0329 OP @abc1310054026 现在可以完全交给 AI 写,方便多了
|
6
justdoit123 8 小时 43 分钟前 链式操作的场景其实没那么多。
倒是可以多借鉴一些函数的功能,对常用的 list (或者数组)、dict 等操作进行封装。 我写 python 看到满屏幕的 [x for x in yyy if ba la ba la] 都看麻了。 另外,要提醒。这种链式组合操作的性能其实不好。当然,大部分场景无需考虑。 但是,如果你在写一个很基础、会被高频调用的功能,这点性能损失可能就会被百倍千倍的放大。如果是这种场景,建议还是在一个 for 循环里,把要做的几个操作( filter 、map 、reduce 等)一次性全做了。 |
7
zaneliu 6 小时 55 分钟前 当我们在讨论 Ramda 时,究竟在讨论什么?
不妨静下心来细想: 是 lodash 吗? 是 RxJS 吗? 是链式调用吗? 这些元素在 Ramda 中确实都有体现,但它们并非使用 Ramda 的真正理由,更不是其设计时的初衷。 可以看下 Ramda 官网第一行醒目的简介: > Ramda > A practical functional library for JavaScript programmers. 它声称自己是一个「实用的函数式( functional )」库。 没错,它是一个完全遵循函数式(不只是简简单单的柯里化、闭包)的、彻底拥抱函数式思想的工具库。 所以如果想真正用好 Ramda ,可以先从学习「函数式思想」开始。 此处不展开,推荐一篇网易云大前端博文: https://musicfe.com/javascript-functional-programming-quickstart/ 函数式编程确实优雅、简洁,很多人初次接触也「惊为天人」,但软件开发没有银弹,我们追求的是**在合适的场景,用合适的技术,更高效地解决问题**。 请勿陷入“为了用 Ramda 而用 Ramda”的误区。 |