ramda 中有没有类似find
的函数,但是不是found element 而是返回predicate 函数的结果?
例如 R.find(x => x === 2 ? 'two' : false, [1, 2, 3])
会返回 'two'
而不是 2
最佳答案
一般来说,如果您想让一个函数做不止一件事,或者让它在给定不同输入时表现不同,很可能有更好的方法来实现您的目标。
函数组合允许您采用隔离特定行为的函数并将它们组合起来以创建新的有意义的行为
// simple function "foo"
const foo = x => x === 2 ? 'two' : false
// combine foo behaviour with simple function "find"
// creates a new simple function, "bar"
const bar = R.compose(foo, R.find(R.equals(2)))
bar([1,2,3]) // => 'two'
bar([1,3]) // => false
关于javascript - Ramda - 查找类似函数但返回谓词的非虚假结果而不是找到的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40930543/