问题标签 [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 - 如何编写一个函数,以便内部应用程序隐式接收外部参数?
编辑:我已将其标记为Can I make this function defenition [sic] 的副本更短?,它在功能上是相同的(两个双关语),并且从 Ramda 库的一位作者那里得到了很好的回答。
这是一个更多的学术好奇心而不是实际需要的问题。
我正在试用Ramda库,它强调“无点”风格的函数组合。
假设我有一个对象数组,比如
我想要一个函数来按 id 返回元素(或者至少目前是一个按 id 匹配的列表)。在本机 javascript 中,我可以说
然后byId('c', things)
会给我一个仅包含第三项的数组。
在 Ramda 中,我可以更简洁地做到这一点,并且无需参考数据:
结果是一个“curried”函数,因此 byIdRam('c')(things)
给出与第一个版本相同的结果。
我觉得剩余的 lambda 也是不必要的,但我不知道如何在没有明确引用 id 的情况下编写函数。有谁知道更好的方法来写这个?
更新答案很简单
这也给出了我想要的语义,它要么返回单个元素,要么返回undefined
. 好的!
javascript - 映射到没有临时变量的对象
如何映射对象数组并基于该对象创建另一个对象(基于元素属性),而不使用临时对象?所以如果我有类似的东西:
没有东西我怎么能完成同样的objx
事情?使用或不使用任何帮助程序库 - lodash、ramda、jquery、angular 等。
javascript - Ramda 不提供深度混合?
mixedIObj 不包括内部对象的 innerStrB。任何 ramda 解决方案?
cordova - 使用 PhoneGap 和 JSZip 压缩和上传文件
我有读取本地文件夹的代码,然后压缩相关文件并将它们上传到服务器:
问题是有时会上传一个空文件,这绝不应该发生。因此,可能是同步问题导致文件在创建 Zip 文件并将其写入存储之前上传。我不确定问题出在哪里。我尝试从 Map 函数返回 Promise,然后使用 Promise.all(...).then() 模式,但有时我仍然得到一个空白文件。所以要么我的实现不正确,要么 zip.generate() 也异步运行(或两者兼而有之)。
在尝试上传之前,如何确保 zip 文件已完全写入存储?
javascript - 我怎样才能用 Ramda.js 做得更好
所以我有一个div列表: list
我想要列表的一个子集删除类中的 div .fade
。.selected
并且还只是从带有类的 div 中获取列表。
所以使用R.takeWhile
and R.dropWhile
。
然后我想映射该新列表并在.active
该列表的子集上添加一个类R.take
和R.forEach
或R.map
就像是 :
我对这个 FP 的东西真的很陌生,并试图掌握它。
任何见解将不胜感激!谢谢!:)
更新
供将来参考,这就是我所做的:
javascript - 为什么我的代码可以与 underscore.js 一起使用,但当我使用 Ramda.js 时却不行?
我是 Javascript 新手,我正在做一个编码挑战来了解更多关于该语言的信息。这与学校无关或类似的东西,完全是为了我自己的个人成长。这是挑战:
如果它是斐波那契数,则返回所有奇数斐波那契数的总和,直到并包括传递的数字。
在过去的两个晚上,我一直在努力解决这个挑战。当我使用 underscore.js 运行我的代码时,它可以工作。当我使用 Ramda.js 时,它会说NaN
. 我认为两者都会返回NaN
。我很惊讶我能从一个而不是另一个得到正确的答案。任何见解将不胜感激!
macros - SweetJS:为特定库编写宏
我目前正在做一个小项目,其中包括为 Ramda 编写宏。这是一个例子:
我尝试编译这个简单的代码示例作为开始:
由于卫生原因,编译后的代码如下所示:
我的问题是我不知道如何引用 ramda。
有没有人尝试为特定库编写宏并遇到此问题?
ramda.js - Ramda:如何根据嵌套数组中的值进行过滤
我正在尝试以一种功能性的方式(使用 Ramda)来实现这一点。我的 JSON 结构是这样的
我正在尝试根据“标签”属性中的值进行过滤,但没有成功。我能够过滤整数/字符串(年龄和用户名),但我无法弄清楚如何使用嵌套数组(标签)中的值进行过滤。任何帮助将非常感激。
javascript - FRP中EventStreams的循环依赖
所有示例都使用Ramda
as _
(很清楚示例上下文中的方法)和kefir
as frp
(与 bacon.js 中几乎相同的 API)
我有一个流,它描述了位置的变化。
+1
当我按下UP
键和-1
on时它会发出DOWN
。
为了获得scan
这个增量的位置
这是预期的工作。但我想限制x
from 0
to的值1000
。
为了解决这个问题,我找到了两个解决方案:
更改功能
/li>scan
看起来还可以,但后来随着新规则的引入,这种方法会越来越多。所以我的意思是它看起来不像可组合和 FRPy。
我有
current
立场。和delta
。我想申请delta
,current
只要current after applying
不会超出限制。current
取决于delta
delta
取决于current after applying
current after applying
取决于current
所以它看起来像循环依赖。但我使用
flatMap
.您可以在iofjuupasli/capture-the-sheep-frp查看完整的代码示例
它正在工作演示gh-pages
它有效,但使用循环依赖可能是反模式。
有没有更好的方法来解决 FRP 中的循环依赖?
第二个更一般的问题
Controller
可以从两个中读取一些值,并根据Model
它的值更新它们。
所以依赖项看起来像:
FRP 没有Controller
. 所以Model
value 应该从 other 以声明方式计算Model
。但是如果Model1
从另一个Model2
相同的计算,那么Model2
计算从Model1
?
例如两个具有碰撞检测的玩家:两个玩家都有position
和movement
。movement
第一个玩家取决于第二个玩家,position
反之亦然。
我对所有这些东西还是新手。经过多年的命令式编码,开始以声明式 FRP 风格思考并不容易。可能我错过了一些东西。