2020-03-16
描述
将 x
值带入断言函数中进行测试。如果为 true
则返回真值处理函数 whenTrue(x)
,否则返回 x
。
提示
- 返回一个仅接受单一参数
x
的函数 - 根据
pred
的运行结果返回适当的值
代码
const when = (pred, whenTrue) => x => (pred(x) ? whenTrue(x) : x);
示例
当一个数字为偶数时就乘以 2:
const doubleEvenNumbers = when(x => x % 2 === 0, x => x * 2);
doubleEvenNumbers(2); // 4
doubleEvenNumbers(1); // 1