问题标签 [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 投票
2 回答
705 浏览

javascript - 如何将 2 个组合与 Ramda.js 合并

我有一个要转换的字符串:

"replace-me-correctly"=>"Replace me correctly"

我使用 Ramda.js 的代码:

我想知道的是是否有一种更清洁更有效的组合方式replaceTailupperHead所以我只遍历字符串一次?

JSBin 示例

0 投票
1 回答
644 浏览

javascript - 使用 ramdajs 将对象转换为对象数组

我正在编写一个程序,计算文件中的单词。

假设对象是这样的:

我想做到:

我可以通过使用命令式编程来实现目标:循环对象...

查看了文档和谷歌,但找不到任何适合的方法:(

谢谢

0 投票
6 回答
189 浏览

javascript - 如何使这段代码更具功能性和可读性?

如何使这些 javascript 语句看起来更具可读性。可以使用函数库 ramda.js 使这段代码看起来更好吗?

先感谢您。

也许有可能做一些允许这样做的事情?

0 投票
2 回答
3216 浏览

javascript - Ramda.js:要列出的参数

试图在这里找出 Ramda。Ramda 是否有将参数转换为列表的方法?例如:

我实际面临的问题是我的函数传递了 2 个参数,我需要使用这两个参数,但R.compose只允许最右边的函数使用多个参数。将我的论点变成一个列表可以让我绕过这个 - 或者这是一个不好的方法?

实际问题:我想将 2 个字符串传递给我的函数。那些应该变成一个合并的对象,例如:

我知道我可以使用R.mergeand R.objOf,但我不知道如何处理和使用传递给函数的 2 个参数。

0 投票
2 回答
607 浏览

jasmine - 使用 Jasmine 进行测试时,Ramda 方法返回“未定义”

我正在尝试测试一些使用Ramda的代码。我正在使用 Jasmine 和 Jest。

根据 Jest 的说法,我尝试使用的所有 Ramda 方法都只返回“未定义”。

这是代码的简化版本(我已确认此简化版本失败):

这是我在运行测试时收到的错误消息:

我不确定上面的代码有什么问题。为什么 newArr 的值为 undefined?

0 投票
1 回答
2538 浏览

javascript - 使用 ramda.js 获取嵌套对象数组中键的所有值

我对如何使用 ramda 处理这个场景有点困惑。这是我正在使用的 JSON。

{ "type" : "CartWsDTO",
"Cartentries" : [ { "entryNumber" : 1, "flightGroup" : { "PAXDetails" : [ { "paxID" : "1", "paxPrice" : "770.82", "paxType" : "ADT" }, { "paxID" : "2", "paxPrice" : "770.82", "paxType" : "ADT" } ] } }, { "entryNumber" : 2, "flightGroup" : { "PAXDetails" : [ { "paxID" : "1", "paxName" : "Vinitha", "paxPrice" : "770.82", "paxSurname" : "Vinitha", "paxType" : "ADT" }, { "paxID" : "2", "paxName" : "Prahal", "paxPrice" : "770.82", "paxSurname" : "Prahal", "paxType" : "ADT" } ] } } ] }

上述 JSON 中有 2 个 CartEnteries。每个条目的 flightGroup 中有一个名为 paxDetails 的数组。从这个 paxDetails 数组中,我想选择 paxPrice 并将该购物车条目的所有 pax 价格相加。在传统的 for 循环和 if 条件下,我能够实现它。但是使用 Ramda 我无法理解如何开始。请给我一个解决方案。

提前致谢。

0 投票
1 回答
1638 浏览

javascript - 使用 Ramda/LoDash/Underscore 对嵌套属性进行唯一分组和计数

如何对嵌套属性进行分组和计数?如果这似乎是一个非常基本的问题,我深表歉意,但老实说,我什至不知道从哪里开始。

编辑我最初对上面的描述过于模糊,这可能是因为我的英语不是很好。我将在这里尝试进一步详细说明。

如何按每个产品名称分组,然后汇总/计算唯一嵌套项的数量?

我的数据来源:

我的首选输出:

0 投票
5 回答
3435 浏览

javascript - 在 Ramda 中避免双重连接

我的问题很简单。我最近开始使用Ramda,我喜欢它,因为它是纯函数式的。我对concat函数有一点问题,因为它只接受两个列表作为参数。所以,如果我需要连接三个或更多列表,我必须像这样链接函数:(concat(list1, concat(list2, concat(list3, list4)))对于四个列表连接)。有没有更好的方法来做到这一点,我不知道?谢谢。

0 投票
1 回答
108 浏览

javascript - 条件函数的无点样式

在以无点风格写这篇文章时,我希望得到一些帮助。

对于上下文:该函数采用 Either 类型的 Array 并返回 Task 类型。任务类型被任何具有左集的 Either 类型拒绝。如果左侧集合中没有 Either 类型,则解析任务类型。这是以这种方式使用的:

在实践中,我会添加另一个链(就在分叉之前)来执行 perist。但首先我要确保我的代码是尽可能地地道的。手头的函数是我想编写无点的rejectAnyLefts,但是有几件事让我陷入了循环。

  1. 如果
  2. 需要存储要在 IF 中使用的 leftObjs 值以及可能的返回值
0 投票
1 回答
442 浏览

javascript - Passing two arguments to the .map callback function

R stands for the Ramda.js library, similar to the Underscore.js

what i know about the R.map callback that it takes only one argument but here we passed two arguments prop, obj and it's working ?

we didn't use obj so it should be undefined --> return undefined[prop] right ?

this code prove that map callback takes only one argument

the result is