Add logical complement
This commit is contained in:
19
snippets/complement.md
Normal file
19
snippets/complement.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: complement
|
||||||
|
tags: function,logic,beginner
|
||||||
|
---
|
||||||
|
|
||||||
|
Returns a function that is the logical complement of the given function, `fn`.
|
||||||
|
|
||||||
|
Use the logical not (`!`) operator on the result of calling `fn` with any supplied `args`.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const complement = fn => (...args) => !fn(...args);
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
const isEven = num => num % 2 === 0;
|
||||||
|
const isOdd = complement(isEven);
|
||||||
|
isOdd(2); // false
|
||||||
|
isOdd(3); // true
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user