gpt4 book ai didi

javascript - 将函数列表应用于 Javascript 中的可能值

转载 作者:行者123 更新时间:2023-12-03 05:25:22 28 4
gpt4 key购买 nike

我使用ramda-fantasy作为单子(monad)。我在 Maybe 中有一个字符串,还有一些函数将在字符串上执行正则表达式匹配并返回一个 Maybe String

如何映射 Maybe 以应用所有函数并连接结果?

我有

const fieldRetrievers = [ 
getAddress,
getName,
getPhone,
]

const text = Maybe.of("a text")

// I want to define
// List (String -> Maybe String) -> Maybe String -> Maybe String
function getInfo(retrievers, maybeText) {...}

我怎样才能做到这一点?

最佳答案

您正在寻找composeK ,一元结构上的函数组合(“kleisli arrows”)。

基本上,你的结果函数应该重复 chain到输入:

text.chain(getAddress).chain(getName).chain(getPhone)

您可以使用 reduce 来实现在你的函数数组上:

R.reduce((m, f) => m.chain(f), text, fieldRetrievers)

所以你会写

const getInfo = R.flip(R.reduce(R.flip(R.chain)))

关于javascript - 将函数列表应用于 Javascript 中的可能值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com