问题标签 [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.
javascript - 在参数顺序错误的地方自由点
我想使用 Ramda 的标准函数集编写一个函数,该函数集给定一个字典和一个键,它将增加键的值。例子
我已经很接近了,但我错过了一种正确咖喱的方法。
我有一个方法,它接受一个键和一个对象并返回一个:
现在我想返回一个新的数据结构
但问题是,为了使这一点免费,我必须弄清楚如何在函数设置中获取值,以便以正确的顺序进行咖喱。我究竟做错了什么?我应该以不同的方式设置此功能吗?我试图设置它,以便两个依赖函数都首先获取密钥,然后是对象,但我错过了一些东西。我应该为此考虑一个特定的仿函数吗?
谢谢!
javascript - 使用 Ramda 对 js 中的 JSON 对象进行通用过滤
我希望实现尽可能通用和功能性(如在函数式编程中),但一般来说,我期待一个具有以下结构的 json 对象:
(基本上,一个包含 N 个属性的对象数组,一些映射到字符串,另一些映射到数字)
我正在尝试实现一组通用功能,以便能够为此实现一些目标:
基本上,我想返回一个具有相同对象结构的数组,由我传递给 by() 的属性字符串过滤,以及值(字符串或数字)和我想要的比较类型去表演。
一般来说,对于数字,我希望能够过滤属性值大于/小于/在我传递的值范围内的结果,使用字符串或字符串数组,我想知道属性是否value 包含我传入 by() 的值。
由于我是 FP 的新手,我正在努力格式化我的代码以利用 Ramda 提供的自动柯里化,并且在传递我想要的参数时我在编写不同的函数时遇到了麻烦。
例如,我写了这个函数:
但是当我尝试像这样使用它时:
我得到一个函数而不是过滤后的数组。
我知道我在这里遗漏了一些微不足道的东西,但是我很难理解在 Ramda 中传递值和函数的方式。
ramda.js - 如何根据 R.compose 重写它
此函数count
按照它们出现的顺序从对象中获取键。我用它来限制分组的数据集。
我知道有占位符参数,例如R.__
,但我无法解决这个特殊情况。
ramda.js - 什么 Ramda 相当于 underscore.js 'compact'?
Ramda 是否具有从列表中删除错误值的功能?
我知道我们可以简单地做var compact = R.filter(R.identity);
,但我错过了现成的功能吗?
javascript - ramda.js 是否有类似于 lodash _.toArray 的东西?
我想停止使用lodash.js
并切换到,ramda.js
但我没有看到任何类似_.toArray()
对象的功能,是否有类似的东西ramda
我应该编写或者我应该继续使用lodash
这些功能(可能还有更多我还没有遇到的情况.)
例如,lodash
如果你有一个像这样的对象:
{"key1": {"inner": "val"}, "key2" : {"inner": "val"}}
您可以将其转换为这样的数组:
[{"inner": "val"}, {"inner": "val"}]
使用功能_.toArray()
javascript - ramda 等效于旋转
给定一个如下所示的旋转函数,它将数组旋转一定数量的槽。
是否有等效的 Ramda.js 函数或组合可以执行此轮换?
例子
php - php高级函数式编程——创建类似于ramdaJS的curry方法
要求:
- 占位符支持
- 部分应用函数可以应用于部分应用函数
- 咖喱
- 5.6 PHP 支持
这是我的尝试,但它仅支持 hhvm 3.7,如您在http://3v4l.org/0i5FV上的示例中所见
这是我的用法示例:
$getLadies 结果可以在 PHP 5.6 中实现,而不仅仅是 hhvm?
javascript - 使用 ramda 获取列表中最大的项目
我正在尝试返回列表中的最大元素page
:
javascript - 使用 Ramda 映射和过滤对象
我正在学习Ramda
,我有点困惑如何lodash
使用Ramda
. Ramda
返回其操作的函数而不是实际值,这似乎是函数式编程的重点,但是在此示例中,我有第二个参数localRegex
不是主要参数。Ramda
如果不包装函数并使用.apply()
或.call()
将包装的函数参数传播给函数,似乎不可能完全复制Ramda
它,这似乎比使用更复杂lodash
。
这就是我所拥有的,但它不起作用。
有没有办法Ramda
使用主变量进行链接并向下传递localRegex
?有没有办法复制使用的getRecursiveDeps
那个?lodash
Ramda
有很多关于Ramda
功能性和underscore
非功能性的讨论lodash
。但在这种情况下,getRecursiveDeps
是一个从 中返回值的函数lodash
。当您创建这样的函数lodash
或underscore
结果相同时,在包装它时还有更多工作,在这种情况下,使用Ramda
over会有什么好处Lodash
?