From f5857ecdf1d65405362d3a48e7c77da9df8632a5 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Wed, 13 May 2020 11:35:36 +0300 Subject: [PATCH] Add logical both --- snippets/both.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 snippets/both.md diff --git a/snippets/both.md b/snippets/both.md new file mode 100644 index 000000000..7587ad60f --- /dev/null +++ b/snippets/both.md @@ -0,0 +1,20 @@ +--- +title: both +tags: function,logic,beginner +--- + +Returns `true` if both functions return `true` for a given set of arguments, `false` otherwise. + +Use the logical and (`&&`) operator on the result of calling the two functions with the supplied `args`. + +```js +const both = (f, g) => (...args) => f(...args) && g(...args); +``` + +```js +const isEven = num => num % 2 === 0; +const isPositive = num => num > 0; +const isPositiveEven = both(isEven, isPositive); +isPositiveEven(4); // true +isPositiveEven(-2); // false +```