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

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 方法相关推荐

  1. 06 - java 方法

    Java 方法 一个方法可以重复使用很多次,减少不必要的冗余,以及重复很多次不必要的操作 让整个程序看起来模块化 public static void main (String[] args) {Sc ...

  2. Java复习笔记入门阶段06:方法

    目录 1.方法概述 2.方法定义格式 2.1 方法常见问题 2.2 求和 2.3 判断奇数偶数 2.4 求最值 3.方法的内存原理 3.1 方法的调用流程,内存图解 4.方法的参数传递机制 4.1基本 ...

  3. Python 集合06 discard()方法—删除集合中的指定元素

    discard()方法-删除集合中的指定元素 文章目录 discard()方法-删除集合中的指定元素 1.语法要点 2.实操练习 (1)删除的元素在集合中 (2)删除集合中不存在的元素,discard ...

  4. 06 方法定义及重载

    06 1.方法的定义和调用 方法的目的: 将公共的功能抽取出来,方便多次使用,避免重复 方法的格式: 修饰符 返回值类型 方法名(参数列表){方法体: } 格式解释: 修饰符:public stati ...

  5. (转)[EntLib]微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART2——了解Unity的使用方法(1)...

    原文地址:http://www.cnblogs.com/kyo-yo/archive/2010/11/01/Learning-EntLib-Tenth-Decoupling-Your-System-U ...

  6. r语言变量长度不一致怎么办_R语言实现数据离散化方法总结

    前言 在做数据挖掘模型的时候,我们有时会需要把连续型变量转型离散变量,这种转换的过程就是数据离散化,分箱就是离散化常用的一种方法. 数据离散化处理属于数据预处理的一个过程,R语言在数据处理上有天然的优 ...

  7. Mac更改默认Finder访达窗口大小的方法

    我来告诉你答案,先到你的 "开启新 Finder 窗口时打开:"的地方(可在Finder的「偏好设置」「通用」标签下查看),调整你想要的大小,关闭 Finder,再打开,以后所有地 ...

  8. Java 8 Time Api 使用指南【珍藏限量版】

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 1.概述 Java 8为Date和Time引入了新的API,以解决旧java.util.Da ...

  9. 【Python】数据科学家提高效率的 40 个 Python 技巧

    写在前面 Python简单易学,现今非常流行.Python被用于各种场景,如数据科学.机器学习.web开发.脚本编制.自动化等等. Python的简单易学性在数据科学非常重要.尽管一些数据科学家有计算 ...

  10. 数据科学家提高效率的 40 个 Python 技巧

    写在前面 Python简单易学,现今非常流行.Python被用于各种场景,如数据科学.机器学习.web开发.脚本编制.自动化等等. Python的简单易学性在数据科学非常重要.尽管一些数据科学家有计算 ...

最新文章

  1. 130242014076+陈旭+第3次实验
  2. android应用启动次数,应用统计: APP启动次数,软件用时统计,用量提醒
  3. JSON之三:获取JSON文本并解释(以google的天气API为例)
  4. linux环境下启动git,linux系统安装git及git常用命令
  5. Software--IoC 依赖倒置 控制反转
  6. C语言 · 阶乘计算 · 基础练习
  7. mybatis mysql like 传参问题_记一次使用mybatis进行like 模糊查询遇到的问题
  8. 分享一个好用的图吧电脑工具
  9. manjaro设置字体_Manjaro 常用配置
  10. TUIO+激光投影互动制作解析
  11. 推荐 5 个优秀的 Javascript 图标库
  12. Foxmail添加163邮箱账号的方法
  13. pat basic 1082 射击比赛
  14. 按快捷键进不去bios问题解决
  15. Web全栈开发学习笔记—Part2 与服务端通信—d.在服务端将数据Alert出来
  16. unity加速传感器的应用
  17. 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(计算机科学理论)
  18. 使用cmake构建工程
  19. 突破技术壁垒 自由收发Hotmail邮件
  20. ROS中欧拉角和四元数转换

热门文章

  1. i3 10105f对比i5 10400f选哪个好
  2. 两种excel 去掉公式保留数值的方法
  3. earth orientation parameter(EOP)地球指向参数
  4. 做外贸如何防止邮箱被封?已解决!
  5. 经典歌曲多版本欣赏:刘欢《情怨》:华夏元素鲜明的“中国风格“
  6. VB简易绘图板的实现
  7. JAVA 将唐诗按照古文样式输出
  8. 智课雅思短语---三、unshakable duty
  9. iPhone6和iPhone6 Plus和iPhone5s屏幕尺寸,分辨率,密度 对比
  10. Ubuntu18.04添加vim配置