【问题标题】:Clean Up Function Applying Value To Array of Functions In Ramda [duplicate]清理函数将值应用于 Ramda 中的函数数组 [重复]
【发布时间】:2018-01-13 14:05:15
【问题描述】:

我想获取一个函数数组并对它们应用一个值,将结果收集到一个数组中。我有这个工作,但flip 让它有点复杂。如何简化?

const f1 = v => v + '1';
const f2 = v => v + '2';
const f3 = v => v + '3';

const result = compose(flip(map)([f1, f2, f3]), applyTo);

result('a')  // ["a1", "a2", "a3"]

Ramda REPL

【问题讨论】:

    标签: javascript function functional-programming ramda.js


    【解决方案1】:

    您要查找的函数是 R.juxt,它接受一个函数列表并返回一个新函数,该函数会将它接收到的所有值应用到列表中的每个函数,生成一个结果值列表。

    const f1 = v => v + '1'
    const f2 = v => v + '2'
    const f3 = v => v + '3'
    
    const result = R.juxt([f1, f2, f3])
    
    console.log(result('a'))  // ["a1", "a2", "a3"]
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.25.0/ramda.min.js"></script>

    【讨论】:

      猜你喜欢
      • 2016-04-01
      • 2018-08-23
      • 2013-02-17
      • 1970-01-01
      • 2021-04-25
      • 2013-12-08
      • 2012-10-08
      • 2017-10-04
      • 2018-03-13
      相关资源
      最近更新 更多