Files
30-seconds-of-code/snippets/factorial.md
2017-12-12 18:38:20 +09:00

492 B

Factorial

Use recursion. If n is less than (for safety) or equal to 1, return 1. Otherwise, return the product of n and the factorial of n - 1.

const factorial = n => n <= 1 ? 1 : n * factorial(n - 1)

Another way: create an array of length n+1, use reduce() to get the product of every value in the given range, utilizing the index of each element.

var factorial = n =>
  Array.apply(null, [1].concat(Array(n))).reduce( (a, _, i) => a * i || 1 , 1);