Add logical either

This commit is contained in:
Angelos Chalaris
2020-05-13 11:35:46 +03:00
parent 15cbf6bdfc
commit 3e5f837e2f

20
snippets/either.md Normal file
View File

@ -0,0 +1,20 @@
---
title: either
tags: function,logic,beginner
---
Returns `true` if at least one function returns `true` for a given set of arguments, `false` otherwise.
Use the logical or (`||`) operator on the result of calling the two functions with the supplied `args`.
```js
const either = (f, g) => (...args) => f(...args) || g(...args);
```
```js
const isEven = num => num % 2 === 0;
const isPositive = num => num > 0;
const isPositiveOrEven = either(isPositive, isEven);
isPositiveOrEven(4); // true
isPositiveOrEven(3); // true
```