我使用 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)));
我不喜欢的是 硬编码 beta
inside valueOfArrayInArray
。是否可以采取不同的方式来做到这一点?请注意,我并不是在寻找具有相同效果的完全不同的实现,而只是为了在这种情况下更好地理解柯里化(Currying)。
最佳答案
您可以从右侧部分应用 contains
:
var valueOfArrayInArray = R.map(R.rPartial(R.contains, beta))
或者翻转它:
var valueOfArrayInArray = R.map(R.flip(R.contains)(beta))
关于javascript - 我可以更好地 curry 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024735/