作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 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);
关于javascript - 有没有办法使用 ramda 将参数传递给 JavaScript 中的谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51985745/
我是一名优秀的程序员,十分优秀!