rol*_*lls 5 javascript functional-programming currying ramda.js
我使用这个片段ramda来检查数组B中是否存在数组A的任何值,假设它们是平面数组.
var hasAtLeastOneTruthValue = ramda.contains(true);
var alpha = [1,2,3]
var beta = [4,1,7];
var valueOfArrayInArray = ramda.map(function(a_v){
return ramda.contains(a_v, beta);
});
console.log(hasAtLeastOneTruthValue(valueOfArrayInArray(alpha)));
Run Code Online (Sandbox Code Playgroud)
我不喜欢的是内部硬编码 .它可以以不同的方式完成,所以它不是吗?请注意,我不是在寻找具有相同效果的完全不同的实现,而只是在这种情况下更好地理解currying.betavalueOfArrayInArray
你可以contains从右边部分申请:
var valueOfArrayInArray = R.map(R.rPartial(R.contains, beta))
Run Code Online (Sandbox Code Playgroud)
或翻转它:
var valueOfArrayInArray = R.map(R.flip(R.contains)(beta))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
274 次 |
| 最近记录: |