06.complement 方法

Posted 前端小智@大迁世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了06.complement 方法相关的知识,希望对你有一定的参考价值。

使用方便有用的方法,以减少代码行数,提高我们的工作效率,增加我们的摸鱼时间。

complement 方法

功能:返回一个函数,即给定函数 fn 的逻辑补集。

有点抽象,这里补集的意思可以理解成相反,如,偶数的相反是奇数,正数的相反是负数。

实现

const complement = fn => (...args) => !fn(...args);

函数 complement 接收一个函数 fn 做为参数,然后返回一个函数,该返回的函数的执行结果是函数
fn执行结果的逻辑非 (!)。

示例

// 判断是否为偶数
const isEven = num => num % 2 === 0;

// 取 isEven 函数的逻辑非,即不是偶数,所以是奇数。
const isOdd = complement(isEven);

isOdd(2); // false
isOdd(3); // true

解释一下:

上面函数isEven判断传入的参数是否为偶数。

函数isOdd表示函数isEven的相反一面,即判断传入的参数是否为奇妙。

最后

2是偶数,所以 isOdd(2)false

3是奇数,所以 isOdd(2)true

以上是关于06.complement 方法的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段10—— 数组的响应式方法

Android课程---Android Studio使用小技巧:提取方法代码片段

Sleep() 方法后的代码片段没有被执行

如何通过代码设置片段标签?

编写代码片段的更简洁的方法

简单的方法来分享/讨论/协作的代码片段?