问题标签 [ramda.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
276 浏览

javascript - Ramda 帮助:使用占位符直接参数的无点实现

这是我第一次使用 ramda。我正在尝试创建一个映射函数,该函数会自动为数组中的每个对象添加一个键。将有助于反应无状态函数,例如,我们可能有一个带有签名的函数

和一个数组

这是一个工作示例:

但是,看到我真正想要的是一个接受字符串和函数的函数,似乎应该有一种方法来做类似的事情:

但我不知道那是如何工作的。任何想法将不胜感激。

或者,很有可能,有一种更简洁的方法可以使用“over”或“transduce”之类的方法来执行此操作。谢谢!

0 投票
4 回答
515 浏览

javascript - JavaScript/Ramda 中的等效函数作为 Clojure 的并列

我需要 JavaScript 中 Clojurejuxt函数的功能。这有本机功能吗?我们正在使用Ramda 函数式 JavaScript 库。是否有带有该功能的 Ramdajuxt功能?

我知道,当然,我可以自己编写这个函数。这是出于教育目的。

0 投票
1 回答
94 浏览

javascript - 如何使用多个参数使函数可调用,因此您可以使用 f(x,y) 代替 f(x)(y)

给定以下数据结构

和功能

我希望能够像这样称呼这两个:-

并获得相同的结果(具有 id 1 和 4 的两个类别的数组)

但是 byLevel 返回一个函数。我可以这样称呼它

它做我想要的。但是,如果我像这样写 byLevel :-

然后

工作正常,咖喱很好。但是,它似乎并不“干净”。

问题

是否有一种“Ramda”方法来制作它,以便我可以定义函数以便我可以做 f(x,y)而不是f(x)(y)

0 投票
1 回答
292 浏览

javascript - RamdaJS:组合一个对象会产生相同的“随机”结果

我正在和 Ramda 一起玩,试图让我的头脑了解函数式 JS。以下代码尝试生成一些随机搜索过滤器对象:

预期的结果应该是这样的

错误在于其中的所有内容都initial具有完全相同的操作数和类型;只有查询本身不同。我想它会记住对 的调用sample,但我不知道为什么。

顺便说一句,我如何重构chooseWordsFromType以使其无需返回对象即可组合?或者我可以吗?

0 投票
5 回答
13068 浏览

javascript - Handling asynchronous programming with Ramda

I am looking at handling functions that return promises with Ramda functions other then pipeP. I am trying to compare functions (one of which returns a promise) with equals like this:

There are two factors at play here. First R.equals will not evaluate functions, but the bigger issue is that I'm comparing a promise to a number.

Is there a functional way of doing this kind of stuff (I know the functions are not referential transparent, but there must be a way of dealing with io)? Is there a Ramda way of doing this?

Thanks.

0 投票
3 回答
1613 浏览

javascript - 在 Javascript 中映射一组任务

所以我开始研究 Ramda / Folktale。我在尝试映射来自目录的一组任务时遇到问题。我正在尝试解析文件内容。

我正在读取目录中的文件并返回一个任务。当这个问题解决时,它应该进入 readFile 函数(它返回一个新任务)。一旦它读取文件,我希望它只解析其中的一些位。

具有以下内容:

它进入了 readFile 函数,但 'file' 是一个文件数组,所以它会出错。

和:

我们从来没有进入 fs.readfile(),但 'file' 是实际的文件名。

我对此感到非常困惑,文档令人困惑。欢迎任何建议。

谢谢

0 投票
1 回答
515 浏览

javascript - 从另一个数组更新一个数组中的属性的功能方法?

我正在尝试进行函数式编程,在创建了许多纯函数之后,我有两个数组,我需要在其中创建一个新数组,这是第一个数组,其中一个属性是从第二个数组更新的。

我有一个命令数组和一个秒整数数组。

commands 数组具有如下对象:

Seconds 只是一个整数数组,其元素数量与命令数组相同。

我最终想要的是一个数组,其中 commands 数组的每个元素都有以下更新:

我创建了以下功能:

但不知道如何将它与数组结合起来。

我正在为我的图书馆使用 Ramda,但任何其他图书馆的帮助都可以。

0 投票
3 回答
1167 浏览

javascript - 如何使用 Ramda 从数组中获取偶数和奇数条目

我有以下内容:

是否存在与 IndexedList 等效的 Ramda,所以我可以拥有一个仅包含偶数索引元素的数组和一个奇数索引元素数组。

0 投票
0 回答
230 浏览

functional-programming - 处理不同级别任务的分叉

我真的坚持在 Ramda 中处理不同级别的任务。我正在尝试构建一个脚本来解析 LESS 文件以获取评论,并从评论中的数据和示例文件中的内联 HTML 构建模式库站点。除了内联示例文件内容外,一切正常(在 SO 的帮助下)。

我可以浏览、阅读目录、打开文件(返回一个新任务)并从评论中提取模板路径。然后我在路径上运行(我认为)parseFile(它返回一个任务),这就是它失败的地方。我正在努力获取示例模板任务分叉,以便我可以使用内容。

我对任何建议持开放态度,但怀疑问题出R.map(writeTemplate, data)在最初的成功分支中,但我现在有点超出我的深度。

0 投票
3 回答
1476 浏览

javascript - 如何使用 Ramda 按索引对 n 数组求和

我一直在学习 Ramda,想知道如何按索引对n数组求和。下面是我能用 2 个数组做的事情。我怎样才能使这种方法规模化?

即我希望能够做到这一点:sumByIndex( arr1, arr2, ..., arrn )

给定列表xand y,结果数组应该 yield [x0 + y0, x1 + y1, ..., xn + yn]。因此,对于n-array的情况,结果数组应该是[ a[0][0] + a[1][0] + ... a[n][0], a[0][1] + a[1][1] + ... a[n][1], ..., a[0][n] + a[1][n] + ... + a[n][n] ]wherea[n]数组作为 position 的参数n