Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数中间的注入值_Javascript_Ramda.js - Fatal编程技术网

Javascript 函数中间的注入值

Javascript 函数中间的注入值,javascript,ramda.js,Javascript,Ramda.js,如果我想定义一个函数来过滤与给定值匹配的集合,我可以写: const{filter,equals}=R 常量数据=[1,2,3,4,5] 常量filterDataFor=x=>filter(等于(x),数据); console.log(filterDataFor(2)) 您可以做的是在过滤器中放置一个简单的占位符,而不是equals(u u),然后简单地将它们与equals组合在一起: const{filter,equals,_uu,compose}=R 常量数据=[1,2,3,4,5] c

如果我想定义一个函数来过滤与给定值匹配的集合,我可以写:

const{filter,equals}=R
常量数据=[1,2,3,4,5]
常量filterDataFor=x=>filter(等于(x),数据);
console.log(filterDataFor(2))

您可以做的是在
过滤器中放置一个简单的占位符,而不是
equals(u u)
,然后简单地
将它们与equals组合在一起:

const{filter,equals,_uu,compose}=R
常量数据=[1,2,3,4,5]
const filterDataFor=compose(filter(_u,data),等于);
console.log(filterDataFor(2))
您考虑过使用吗

返回第一个参数中没有值的新列表。R.equals用于确定相等

没有([2],[1,2,3,4,5]);
//=> [1, 3, 4, 5]
它也适用于多个值:

没有([2,5],[1,2,3,4,5]);
//=> [1, 3, 4]

安德拉斯·西蒙答案的一个变体是翻转过滤函数,使谓词成为第二个参数

const{filter,equals,flip,compose}=R
常量数据=[1,2,3,4,5]
常量filterDataFor=compose(翻转(过滤器)(数据),等于);
console.log(filterDataFor(2))

如果我写了
const foo=bar()
,你希望我能写
foo()
?@YannickK这取决于
bar()
是否返回了一个函数?例如,如果
const-bar=x=>y=>true
那么是的,我希望您能够编写
foo()
,当
const-foo=bar()。不过,我可能完全误解了占位符