This commit is contained in:
Angelos Chalaris
2017-12-16 19:02:23 +02:00
parent 77fd89e369
commit e37de0ff2a
2 changed files with 8 additions and 2 deletions

View File

@ -891,9 +891,12 @@ const isEven = num => num % 2 === 0;
Use recursion.
If `n` is less than or equal to `1`, return `1`.
Otherwise, return the product of `n` and the factorial of `n - 1`.
Throws an exception if `n` is a negative number.
```js
const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);
const factorial = n =>
n < 0 ? (() => { throw new TypeError('Negative numbers are not allowed!') })()
: n <= 1 ? 1 : n * factorial(n - 1);
// factorial(6) -> 720
```

View File

@ -3,8 +3,11 @@
Use recursion.
If `n` is less than or equal to `1`, return `1`.
Otherwise, return the product of `n` and the factorial of `n - 1`.
Throws an exception if `n` is a negative number.
```js
const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);
const factorial = n =>
n < 0 ? (() => { throw new TypeError('Negative numbers are not allowed!') })()
: n <= 1 ? 1 : n * factorial(n - 1);
// factorial(6) -> 720
```