无法理解 Ramda.js 中的 "lift"。
- 论坛
- 无法理解 Ramda.js 中的 "lift"。
13 浏览
无法理解 Ramda.js 中的 "lift"。
查看Ramda.js的源代码,特别是"lift"函数。
以下是给定的示例:
var madd3 = R.lift(R.curry((a, b, c) => a + b + c)); madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]
因此,结果的第一个数字很容易理解,a
,b
和c
分别为每个数组的第一个元素。第二个数字对我来说不太容易理解。它是每个数组的第二个值(2, 2, undefined),还是第一个数组的第二个值和第二个和第三个数组的第一个值?
即使忽略这里发生的顺序,我也不太明白它的价值。如果我在没有先进行lift
的情况下执行此操作,我将得到拼接为字符串的数组。这似乎有点像flatMap
,但我似乎无法理解其背后的逻辑。