我在带有ramda库的JavaScript中有功能代码。我想要一个通用函数hasNChars
并动态传递参数n
。我无法执行R.any(hasNChars(10), words)
,因为该函数已评估。
那么有什么方法可以通过某种方式传递n参数的值?
var R = require('ramda');
let words = ['forest', 'gum', 'pencil', 'wonderful', 'grace',
'table', 'lamp', 'biblical', 'midnight', 'perseverance',
'adminition', 'redemption'];
let hasNChars = (word, n=3) => word.length === n;
let res = R.any(hasNChars, words);
console.log(res);
最佳答案
距离您很近,您只需要创建一个带N的函数即可立即进行求值,而无需输入word
,因此N值在最终求值范围内。let hasNChars = (n=3) => (word) => word.length === n;
用法:let res = R.any(hasNChars(10), words);
默认值为n = 3的用法:let res = R.any(hasNChars(), words);