【发布时间】:2021-06-05 09:25:45
【问题描述】:
类似[(a->b)] -> a -> [b] 这样的类型。我当然可以编写代码,但我想为它指定正确的功能名称。
情况如下:
我是函数式编程的新手,我目前正在使用 JavaScript。
我有一个谓词函数数组:
//predicate :: string -> a -> boolean
let arr = [ predicate(foo), predicate(bar), predicate(baz) ]
我想将它们应用到value,并返回一组结果:
let res = [ arr[0](value), arr[1](value), arr[2](value) ]
// res = [ true ,false, true]
最后我想使用Any.concat 或All.concat 链接数组
final_result = Any(res[0]).concat(Any(res[1])).concat(Any(res[2])).valueOf()
// final_result = true | false
谢谢。
【问题讨论】:
-
我不是 Javascript 专家,但我是 Haskell 专家。
Any(true)是做什么的? -
@DanielWagner 对不起我的错,不是 javascript 的一部分。它是在 js 中实现的 Monoid Any 。 crocks.dev/docs/monoids/Any.html.
标签: javascript haskell functional-programming