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

javascript - Ramda.js - 切片数组的内部值

使用 Ramda.js 实现这一目标的最佳方法是什么?

我似乎找不到一种很好的切片方法,直到长度 - 1 而不将该变量存储在某处。我能想到的最好的方法是使用 Ramda 的收敛函数,如下所示:

我很难相信这是实现如此简单目标的一种干净的方法。函数式编程方法中的代码要多得多,而且我也认为其他开发人员阅读/维护会更加困难。我错过了什么吗?如果有人有不同的方法,请告诉我。谢谢!

0 投票
3 回答
70 浏览

javascript - 在数组上执行函数列表

我正在掌握使用函数式编程而不是简单的一map两个。我有一种情况,我希望能够根据这些对象的特定字段从对象数组中过滤一些元素。这是一个人为的例子,但这里有:

我有一个字段定义列表,我想根据它们的标题提取其中两个。

如果我运行这个,最后的输出是两个元素toSearch我正在寻找的两个元素,但它并不完全整洁。我一直在尝试另一种map方法来绕过found手动执行元素,但我也觉得即使在这之前我也采取了一条过于迂回的路线。

虽然这是一个人为的例子,但有没有一种更简洁的方法可以在功能风格中实现这一点?

0 投票
1 回答
1278 浏览

javascript - ramda 过滤器只返回第一个结果

给定一个元素的属性数组(来自控制台窗口) 在此处输入图像描述

我需要检索所有“id”或“name”属性

执行此操作时:

我得到了“名称”属性。
在此处输入图像描述

当这样颠倒“或”论点时:

我得到'id'属性: 在此处输入图像描述

过滤器方法应该返回数组中的所有匹配项- 我错过了什么?**

0 投票
1 回答
1169 浏览

javascript - 如何使用 Ramda 通过“where”比较测试对象中的属性值

使用 Ramdajs 的“where”函数(参见:“where” - ramda docs),我想创建一个测试对象来比较它们之间的属性值。

例子:

因此,我想编写一个比较 a、b 和 c 值的测试方法。

例子:

问题:

  1. 如何访问属性的值?
  2. 您是否看到了一种更好的方法来完成对象值的比较?

谢谢你的帮助!

莫夫

0 投票
2 回答
5849 浏览

javascript - Test whether value exists within array of objects

I have an array of objects and I would like to test it to determine whether a property with a certain value exists (at least one occurrence) and for it to return a boolean value to indicate the result. I'm using the Ramda library and have been experimenting with the has function to try and achieve this, however this only returns a boolean on whether the actual property exists and not it's respective value.

#xA;

Checking the array of objects for sport: 'rugby' should return true and sport: 'tennis' should return false.

Any help will be greatly appreciated, thanks.

0 投票
1 回答
30 浏览

javascript - 打给 R.ap 的电话太多?

我有一个列表,其中包含以下项目: [{name:...}, {name:...}], ...

我只想提取那些名称与一组正则表达式中的任何一个匹配的元素。

我能够这样做:

有什么办法可以简化吗?

0 投票
1 回答
602 浏览

javascript - 使用带有可变对象键名的 Ramdas 'propSatisfies' 方法

我有一个这样的对象数组:

和这样的功能:

使用此函数,我想获取每个对象,其中至少一个“ratio”属性等于“keysTrue”的一个元素,如果它们相等,则该属性的值应该等于或 +1 到“level”。


例子:

keysTrue = [“上”,“中”]

级别 = 2

返回对象 A 和对象 B,因为对象 A 的 ratio.mid === 2,对象 B 的 ratio.up === 3 等于 level + 1。


如果我正确阅读 Ramda 文档,这应该可以使用 Ramda 'propSatisfied' 方法(请参阅:Ramda docs - propSatisfied),但我不知道如何使用带有变量值的谓词。

这是没有 Ramda 的我相当低效的版本:

谢谢你的帮助!

莫夫

0 投票
2 回答
2443 浏览

javascript - 如何查找数组中所有出现的元素的索引(Ramda.js 方式)?

我试图在一个数组Header中找到所有实例的索引。Footer

我知道如何在普通 JS 中做到这一点(如何找到数组中所有出现的元素的索引?),但我想知道在 FP 中如何做到这一点,ramda.js特别是?

我知道如何在第一个实例中执行此操作,R.findIndex(R.test(_regexForHeader))但不能绕着循环遍历所有数组。感谢帮助。

0 投票
4 回答
762 浏览

javascript - 迭代包含不同长度数组的二维数组行

我有一个函数,它按行从二维数组中选择所有元素并返回一个一维数组。该数组具有可变数量的列和行。

例子:

回报:

我想出的功能:

问题:此函数仅适用于方阵 - 如何使其适用于包含数组的可变长度?

例子:

应该返回:

谢谢你的帮助!

莫夫

0 投票
1 回答
388 浏览

javascript - 如何在 Ramda 中的对象属性之间移动值?

我有以下对象:

我想将该cards属性的一些项目移动到hand.

我虽然使用镜头来防止物体发生变异,但无法得出一个解决方案,让我只需要组合函数就可以做到这一点。也许不应该那样做。

我能做的最好的如下: