问题标签 [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 回答
257 浏览

javascript - 在参数顺序错误的地方自由点

我想使用 Ramda 的标准函数集编写一个函数,该函数集给定一个字典和一个键,它将增加键的值。例子

我已经很接近了,但我错过了一种正确咖喱的方法。

我有一个方法,它接受一个键和一个对象并返回一个:

现在我想返回一个新的数据结构

但问题是,为了使这一点免费,我必须弄清楚如何在函数设置中获取值,以便以正确的顺序进行咖喱。我究竟做错了什么?我应该以不同的方式设置此功能吗?我试图设置它,以便两个依赖函数都首先获取密钥,然后是对象,但我错过了一些东西。我应该为此考虑一个特定的仿函数吗?

谢谢!

0 投票
1 回答
1771 浏览

javascript - 使用 Ramda 对 js 中的 JSON 对象进行通用过滤

我希望实现尽可能通用和功能性(如在函数式编程中),但一般来说,我期待一个具有以下结构的 json 对象:

(基本上,一个包含 N 个属性的对象数组,一些映射到字符串,另一些映射到数字)

我正在尝试实现一组通用功能,以便能够为此实现一些目标:

基本上,我想返回一个具有相同对象结构的数组,由我传递给 by() 的属性字符串过滤,以及值(字符串或数字)和我想要的比较类型去表演。

一般来说,对于数字,我希望能够过滤属性值大于/小于/在我传递的值范围内的结果,使用字符串或字符串数​​组,我想知道属性是否value 包含我传入 by() 的值。

由于我是 FP 的新手,我正在努力格式化我的代码以利用 Ramda 提供的自动柯里化,并且在传递我想要的参数时我在编写不同的函数时遇到了麻烦。

例如,我写了这个函数:

但是当我尝试像这样使用它时:

我得到一个函数而不是过滤后的数组。

我知道我在这里遗漏了一些微不足道的东西,但是我很难理解在 Ramda 中传递值和函数的方式。

0 投票
2 回答
1124 浏览

ramda.js - 如何根据 R.compose 重写它

此函数count按照它们出现的顺序从对象中获取键。我用它来限制分组的数据集。

我知道有占位符参数,例如R.__,但我无法解决这个特殊情况。

0 投票
2 回答
12502 浏览

ramda.js - 什么 Ramda 相当于 underscore.js 'compact'?

Ramda 是否具有从列表中删除错误值的功能?

我知道我们可以简单地做var compact = R.filter(R.identity);,但我错过了现成的功能吗?

0 投票
2 回答
4210 浏览

javascript - ramda.js 是否有类似于 lodash _.toArray 的东西?

我想停止使用lodash.js并切换到,ramda.js但我没有看到任何类似_.toArray()对象的功能,是否有类似的东西ramda我应该编写或者我应该继续使用lodash这些功能(可能还有更多我还没有遇到的情况.)

例如,lodash如果你有一个像这样的对象:

{"key1": {"inner": "val"}, "key2" : {"inner": "val"}}

您可以将其转换为这样的数组:

[{"inner": "val"}, {"inner": "val"}]

使用功能_.toArray()

0 投票
3 回答
523 浏览

javascript - ramda 等效于旋转

给定一个如下所示的旋转函数,它将数组旋转一定数量的槽。

是否有等效的 Ramda.js 函数或组合可以执行此轮换?

例子

0 投票
2 回答
387 浏览

php - php高级函数式编程——创建类似于ramdaJS的curry方法

要求:

  1. 占位符支持
  2. 部分应用函数可以应用于部分应用函数
  3. 咖喱
  4. 5.6 PHP 支持

这是我的尝试,但它仅支持 hhvm 3.7,如您在http://3v4l.org/0i5FV上的示例中所见

这是我的用法示例:

$getLadies 结果可以在 PHP 5.6 中实现,而不仅仅是 hhvm?

0 投票
2 回答
6961 浏览

javascript - 使用 ramda 获取列表中最大的项目

我正在尝试返回列表中的最大元素page

0 投票
2 回答
9837 浏览

javascript - 使用 Ramda 映射和过滤对象

我正在学习Ramda,我有点困惑如何lodash使用Ramda. Ramda返回其操作的函数而不是实际值,这似乎是函数式编程的重点,但是在此示例中,我有第二个参数localRegex不是主要参数。Ramda如果不包装函数并使用.apply().call()将包装的函数参数传播给函数,似乎不可能完全复制Ramda它,这似乎比使用更复杂lodash

这就是我所拥有的,但它不起作用。

有没有办法Ramda使用主变量进行链接并向下传递localRegex?有没有办法复制使用的getRecursiveDeps那个?lodashRamda

有很多关于Ramda功能性和underscore非功能性的讨论lodash。但在这种情况下,getRecursiveDeps是一个从 中返回值的函数lodash。当您创建这样的函数lodashunderscore结果相同时,在包装它时还有更多工作,在这种情况下,使用Ramdaover会有什么好处Lodash

0 投票
1 回答
1146 浏览

javascript - Ramda ifElse 行为异常

为什么当我在ifElse这里运行该方法时会false记录“功能二(onTruthy)”?

我在想这是因为 RT 总是返回 true。也许使用_.isMatch我可以匹配它?

更新:刚试过: